# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
981351 | pcc | Land of the Rainbow Gold (APIO17_rainbow) | C++17 | 1349 ms | 10048 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "rainbow.h"
#include <bits/stdc++.h>
using namespace std;
#define pii pair<int,int>
#define fs first
#define sc second
const int mxn = 2e5+10;
int arr[3][mxn];
int pref[mxn];
int row[3][mxn];
void init(int R, int C, int sr, int sc, int M, char *S) {
memset(arr,0,sizeof(arr));
pii now = pii(sr,sc);
arr[now.fs][now.sc] = -1;
for(int i = 0;i<M;i++){
if(S[i] == 'N')now.fs--;
else if(S[i] == 'S')now.fs++;
else if(S[i] == 'E')now.sc++;
else if(S[i] == 'W')now.sc--;
arr[now.fs][now.sc] = -1;
}
for(int i = 1;i<=R;i++){
for(int j = 1;j<=C;j++)cerr<<setw(2)<<arr[i][j]<<' ';cerr<<endl;
}cerr<<endl;
for(int i = 1;i<=C;i++){
pref[i] = pref[i-1];
row[1][i] = row[1][i-1];
row[2][i] = row[2][i-1];
if(arr[1][i] == -1&&arr[1][i-1] != -1)row[1][i]++;
if(arr[2][i] == -1&&arr[2][i-1] != -1)row[2][i]++;
if(arr[1][i] == arr[2][i]&&arr[1][i] == -1&&(arr[1][i-1] != -1||arr[2][i-1] != -1))pref[i]++;
}
for(int i = 1;i<=C;i++)cerr<<pref[i]<<' ';cerr<<endl;
return;
}
int colour(int ar, int ac, int br, int bc) {
if(ar == br){
int cnt = row[ar][bc]-row[ar][ac-1]-1;
if(arr[ar][ac] != -1)cnt++;
if(arr[br][bc] != -1)cnt++;
cnt = max(0,cnt);
return cnt;
}
else{
int cnt = pref[bc]-pref[ac-1]-1;
if(arr[1][ac] != -1||arr[2][ac] != -1)cnt++;
if(arr[1][bc] != -1||arr[2][bc] != -1)cnt++;
cnt = max(0,cnt);
return cnt;
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |