제출 #1204256

#제출 시각아이디문제언어결과실행 시간메모리
1204256perekopskad모자이크 (IOI24_mosaic)C++20
7 / 100
72 ms14408 KiB
#include "mosaic.h" #include <vector> using namespace std; #define ll long long #define ff first #define ss second #define pii pair <ll, ll> #define el '\n' #define fr(i, l, r) for(ll (i) = l; (i) <= r; (i)++) #define frb(i, r, l) for(ll (i) = r; (i) >= l; (i)--) ll const N = 2e5 + 100; ll pref[2][N]; 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 Q = (int)T.size(); int N = (int)X.size(); fr(i, 0, N - 1) { pref[0][i] = X[i]; pref[1][i] = Y[i]; if(i) { pref[0][i] += pref[0][i - 1]; pref[1][i] += pref[1][i - 1]; } } vector <ll> ans(Q); fr(i, 0, Q - 1) { if(T[i] == 0) { ans[i] += pref[0][R[i]]; if(L[i]) ans[i] -= pref[0][L[i] - 1]; T[i]++; } if(L[i] == 0) { ans[i] += pref[1][B[i]]; ans[i] -= pref[1][T[i] - 1]; L[i]++; } // calc ans } 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...