답안 #227361

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
227361 2020-04-27T06:59:01 Z cgiosy 조개 줍기 (KOI17_shell) C++17
0 / 100
121 ms 9336 KB
#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 i=0; i<=N+1; i++) A[0][i]=A[i][0]=A[N+1][i]=A[i][N+1]-2e9;
	for(int q=0; q<N; q++) {
		char t;
		int i, l;
		cin>>t>>i>>l;
		int r=l+1;
		if(t=='U') while(l<r) {
			while(r<=N && A[i-1][r]<A[i][r-1]+1) r++;
			for(int j=l; j<r; j++) A[i][j]++;
			s+=r-l;
			if(++i>N) break;
			while(l<r && A[i-1][l]<=A[i][l-1]) l++;
		} else while(l<r) {
			r=l+1;
			while(r<=N && A[i-1][r]<A[i][r-1]-1) r++;
			for(int j=l; j<r; j++) A[i][j]--;
			s-=r-l;
			if(++i>N) break;
			while(l<r && A[i-1][l]<=A[i][l-1]) l++;
		}
		cout<<s<<'\n';
	}
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 768 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 121 ms 9336 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 6 ms 768 KB Output isn't correct
2 Halted 0 ms 0 KB -