제출 #1282266

#제출 시각아이디문제언어결과실행 시간메모리
1282266MMihalevMosaic (IOI24_mosaic)C++20
0 / 100
73 ms12936 KiB
#include<iostream> #include<algorithm> #include<vector> #include "mosaic.h" using namespace std; const int MAX_N=2e5+5; int n,q; vector<long long>ans; 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) { n=X.size(); q=T.size(); ans.resize(q); for(int i=1;i<=q;i++) { if(T[i-1]==B[i-1] && T[i-1]==0)continue; if(L[i-1]==R[i-1] && R[i-1]==0)continue; if(T[i-1]==0)T[i-1]++; if(L[i-1]==0)L[i-1]++; int topleftcell=(T[i-1]%2==1 && L[i-1]%2==1); long long firstrow=((R[i-1]-L[i-1]+1)%2==0 ? (R[i-1]-L[i-1]+1)/2 : (R[i-1]-L[i-1]+1)/2+topleftcell); long long secondrow=(R[i-1]-L[i-1]+1)-firstrow; ans[i-1]=(1LL*B[i-1]-1LL*T[i-1]+1)/2*(firstrow+secondrow)+((1LL*B[i-1]-1LL*T[i-1]+1)%2)*firstrow; } return ans; }
#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...