Submission #1191080

#TimeUsernameProblemLanguageResultExecution timeMemory
1191080cpdreamerMosaic (IOI24_mosaic)C++20
22 / 100
1094 ms17720 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)

mosaic.cpp: In function 'void file()':
mosaic.cpp:6:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    6 |     freopen("input.txt.txt","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
mosaic.cpp:7:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
    7 |     freopen("output.txt.txt","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...