ABC-322
A
解法
B
解法
C
https://atcoder.jp/contests/abc322/tasks/abc322_c
#累積和 #尺取り法
int main(void) { ll N, M; scanf("%lld%lld", &N, &M); ll A[M]; rep(i,0,M) scanf("%lld", &A[i]);
// initialize ll firework[N+1]; rep(i,0,N+1) firework[i] = 0;
// reflect fireworks rep(i,0,M) firework[A[i]]++;
// prefixSum rep(i,0,N) firework[i+1] = firework[i] + firework[i+1];
ll p=1; rep(i,1,N+1) { while (firework[p]-firework[p-1]==0) p++; printf("%lld\n", p-i); if (i==p) ++p; }
return 0;}
解法
何日目までに花火が何発あがるかの累積和を持って置き、花火の累計数が変わるまで尺取りを進め、追いついたらまた尺取りと言う風にすると題意を満たせる。
D
解法
E