# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1238904 | simplemind_31 | Mosaic (IOI24_mosaic) | C++20 | 0 ms | 0 KiB |
T[i]++;
C[i]+=R[i]-L[i]+1;
}
if(T[i]>B[i]){
continue;
}
C[i]=(ll)(R[i]-L[i]+1)*(ll)(B[i]-T[i]+1)/2;
if((R[i]-L[i]+1)%2==1 && (B[i]-T[i]+1)%2==1 && abs(R[i]-B[i])%2==0){
C[i]++;
}
}
}else if(!task3){
for(int i=0;i<N;i++){
mat[1][i+1]=1-X[i];
mat[i+1][1]=1-Y[i];
}
for(int i=2;i<=N;i++){
for(int j=2;j<=N;j++){
mat[i][j]=!(mat[i][j-1]&mat[i-1][j]);
}
}
for(int i=1;i<=N;i++){
for(int j=1;j<=N;j++){
psum[i][j]=psum[i-1][j]+psum[i][j-1]-psum[i-1][j-1]+(mat[i][j]==0);
}
}
for(int i=0;i<Q;i++){
C[i]=psum[B[i]+1][R[i]+1]-psum[B[i]+1][L[i]]-psum[T[i]][R[i]+1]+psum[T[i]][L[i]];
}
}
return C;
}