# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1191080 | cpdreamer | Mosaic (IOI24_mosaic) | C++20 | 1094 ms | 17720 KiB |
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const long double EPS = 1e-9;
void file(){
freopen("input.txt.txt","r",stdin);
freopen("output.txt.txt","w",stdout);
}
#define V vector
#define pb push_back
#define P pair
#define S second
#define F first
#define all(v) v.begin(),v.end()
int ask(int i,int j){
cout<<"? "<<i<<" "<<j<<endl;
cout.flush();
int a;
cin>>a;
return a;
}
std::vector<long long> mosaic(
std::vector<int> X, std::vector<int> Y,
std::vector<int> T, std::vector<int> B,
std::vector<int> L, std::vector<int>R){
int n=(int )X.size();
int q=(int)T.size();
V<V<int>>col(3, V<int>(n)),row(3, V<int>(n));
col[0]=Y;
row[0]=X;
for(int i=1;i<3;i++){
col[i][0]=X[i];
for(int j=1;j<n;j++){
if(col[i-1][j]==0 && col[i][j-1]==0){
col[i][j]=1;
}
else
col[i][j]=0;
}
}
for(int i=1;i<3;i++){
row[i][0]=Y[i];
for(int j=1;j<n;j++){
if(row[i-1][j]==0 && row[i][j-1]==0){
row[i][j]=1;
}
else
row[i][j]=0;
}
}
V<ll>ans;
for(int i=0;i<q;i++){
int t=T[i],l=L[i],r=R[i];
ll c=0;
if(t==0 || t==1 || t==2){
for(int j=l;j<=r;j++){
c+=row[t][j];
}
ans.pb(c);
continue;
}
if(l==0){
c+=col[l][t];
l++;
}
if(l>r){
ans.pb(c);
continue;
}
if(l==1){
c+=col[l][t];
l++;
}
if(l>r){
ans.pb(c);
continue;
}
int mind=min(l-2,t-2);
l-=mind,t-=mind,r-=mind;
while(l<=r && t>2){
c+=col[2][t];
r--;
t--;
}
for(int j=l;j<=r;j++){
c+=row[2][j];
}
ans.pb(c);
}
return ans;
}
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... |
# | 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... |