https://jag2017autumn.contest.atcoder.jp/tasks/jag2017autumn_a
縦H横Wの窓がN枚ある。
奇数番目はX[i]だけ右にずらし、偶数番目はX[i]だけ左にずらす。
空いている部分の面積は?
Nは偶数である。
解法
https://jag2017autumn.contest.atcoder.jp/submissions/1794235
2枚ずつ計算していく。
縦の長さは後でかければいいので、空いている面積の横の長さを足していく。
a番目とb番目での面積を考える。
X[a] + X[b]≦Wならば、行きすぎないので、移動した分窓が空いているので、X[a] + X[b]だけ空いていることになる。
W<X[a] + X[b]ならば、X[a]+X[b]-Wだけ交わった後に行き過ぎているので、その分Wから引けばいい。
総和を取って縦をかければ答え。
int N, H, W, X[101]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N >> H >> W; rep(i, 0, N) cin >> X[i]; int ans = 0; rep(i, 0, N / 2) { int a = i * 2, b = i * 2 + 1; if (X[a] + X[b] <= W) ans += X[a] + X[b]; else { ans += W - ((X[a] + X[b]) - W); } } cout << ans * H << endl; }