本番こっちの方がはるかに簡単に答えている…。
https://codeforces.com/contest/1268/problem/B
問題
ヤング図形が与えられる。
この図形の上に、2マス分の大きさのドミノを敷くことを考える。
最大何個置くことができるか。
解法
図形を白黒市松模様状に塗り分け、少ない方のマス目の数だけドミノを敷ける。
int N; int A[303030]; void solve() { int i,j,k,l,r,x,y; string s; cin>>N; ll C[2]={}; FOR(i,N) { cin>>A[i]; if(i%2==0) { C[0]+=A[i]/2; C[1]+=A[i]/2+A[i]%2; } else { C[1]+=A[i]/2; C[0]+=A[i]/2+A[i]%2; } } cout<<min(C[0],C[1])<<endl; }
まとめ
見たら本番Aはさんざん苦戦したうえでHackされて、一方こっちは3分でACしてた。