Submission #227352

#TimeUsernameProblemLanguageResultExecution timeMemory
227352cgiosy조개 줍기 (KOI17_shell)C++17
0 / 100
118 ms9340 KiB
#include <bits/stdc++.h> using namespace std; alignas(64) int A[1520][1520]{}; int main() { ios::sync_with_stdio(0);cin.tie(0); int N; long long s=0; cin>>N; for(int i=1; i<=N; i++) for(int j=1; j<=N; j++) { cin>>A[i][j]; s+=A[i][j]+=max(A[i-1][j], A[i][j-1]); } cout<<s<<'\n'; for(int q=0; q<N; q++) { char t; int i, l, d=0; cin>>t>>i>>l; int r=l+1, x=t=='U' ? 1 : -1; A[i][l]+=x; while(r<=N && A[i-1][r]<A[i][r-1]) A[i][r++]+=x; d+=r-l; for(i++; i<=N; i++) { while(l<r && A[i-1][l]<=A[i][l-1]) l++; if(l==r) break; while(r<=N && A[i-1][r]<A[i][r-1]+x) r++; for(int j=l; j<r; j++) A[i][j]+=x; d+=r-l; } cout<<(s+=x*d)<<'\n'; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...