제출 #1237523

#제출 시각아이디문제언어결과실행 시간메모리
1237523banganMosaic (IOI24_mosaic)C++20
8 / 100
1108 ms291780 KiB
#include "mosaic.h" #include <bits/stdc++.h> #include <vector> using namespace std; #define ll long long 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 = X.size(); int Q = (int)T.size(); if (accumulate(X.begin()+1, X.end(), 0)==0 && accumulate(Y.begin()+1, Y.end(), 0)==0) { std::vector<long long> C(Q, 0); for (int i=0; i<Q; i++) { int r1=T[i], r2=B[i]; int c1=L[i], c2=R[i]; if (!r1&&!r2) { C[i]=0; continue; } if (!c1&&!c2) { C[i]=0; continue; } if (!r1) r1++; if (!c1) c1++; int r = r2-r1+1; r/=2; int c = c2-c1+1; c/=2; r += (r1%2==1 && r2%2==1); c += (c1%2==1 && c2%2==1); C[i] = 1ll*r*c; r = (r2-r1+1) - r; c = (c2-c1+1) - c; C[i] += 1ll*r*c; } return C; } vector<map<int, int>> a(N); for (int r=0; r<N; r++) a[r][0] = Y[r]; for (int c=0; c<N; c++) a[0][c] = X[c]; for (int i=1; i<N; i++) { int tot=0; for (int r=i; r<N; r++) tot += (a[r][i] = (a[r-1][i] | a[r][i-1]) ^ 1); for (int c=i; c<N; c++) tot += (a[i][c] = (a[i][c-1] | a[i-1][c]) ^ 1); if (tot==0) break; } vector<ll> ans(Q); for (int i=0; i<Q; i++) { int r = T[i]; int c = L[i]; if (a[r].contains(c)) ans[i] = a[r][c]; else ans[i] = (r%2==c%2); } }

컴파일 시 표준 에러 (stderr) 메시지

mosaic.cpp: In function 'std::vector<long long int> mosaic(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
mosaic.cpp:53:1: warning: control reaches end of non-void function [-Wreturn-type]
   53 | }
      | ^
#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...