제출 #1318148

#제출 시각아이디문제언어결과실행 시간메모리
1318148ninstroyerHandcrafted Gift (IOI20_gift)C++20
100 / 100
82 ms21244 KiB
#include "gift.h" #include<bits/stdc++.h> using namespace std; const int nx = 5e5+5; int add[nx], sub[nx], last[nx]; // R, B vector<pair<int,int>> t2; int construct(int n, int r, std::vector<int> a, std::vector<int> b, std::vector<int> x) { string res = ""; for(int i = 0; i < r; i++) { if(x[i] == 1) { add[a[i]]++; sub[b[i]]++; } else t2.push_back({a[i],b[i]}); } char cur = 'R'; int sum = 0; for(int i = 0; i < n; i++) { sum += add[i]; sum -= sub[i]; res += cur; if(sum > 0) cur = cur; else if(cur == 'R') cur = 'B'; else cur = 'R'; } for(int i = 1; i < n; i++) { last[i] = last[i-1]; if(res[i]!=res[i-1]) last[i] = i-1; } for(auto [l,r] : t2) { if(last[r] >= l) continue; else return 0; } craft(res); return 1; }
#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...