Submission #1069807

#TimeUsernameProblemLanguageResultExecution timeMemory
1069807AlebnSprinklers (CEOI24_sprinklers)C++14
0 / 100
2033 ms3536 KiB
#include <bits/stdc++.h> #define int long long using namespace std; struct Obj { int t, pos, i; Obj(){} Obj(int ti, int pi, int ii):t(ti),pos(pi),i(ii){} }; bitset<20> bs; bool trywith(vector<Obj>& a, int& n, int k) { bool ok = false; for(int i = 0; i < (1 << n) && !ok; i++) { bitset<20> bit(i); int l = -1, r = 0, last = 0; for(int j = 0; j < a.size(); j++) { if(!a[j].t) { if(bit[a[j].i]) r = max(r, a[j].pos + k + 1); else if(a[j].pos - k <= l) l = -1; } else { last = max(last, a[j].pos); if(j >= r && l == -1) l = a[j].pos; } } if(l == -1 && r > last) { ok = true; bs = bit; } } return ok; } void solve() { int n, m, temp; cin >> n >> m; vector<Obj> a; for(int i = 0; i < n; i++) { cin >> temp; a.push_back(Obj(0, temp, i)); } for(int i = 0; i < m; i++) { cin >> temp; a.push_back(Obj(1, temp, i)); } sort(a.begin(), a.end(), [](Obj x, Obj y){ if(x.pos == y.pos) return x.t > y.t; return x.pos < y.pos; }); int l = 0, r = 1e9+1, mid, ans = -1; while(l <= r) { mid = (l + r) / 2; if(trywith(a, n, mid)) { r = mid - 1; ans = mid; } else l = mid + 1; } cout << ans << "\n"; if(ans != -1) { for(int i = 0; i < n; i++) { if(bs[i]) cout << 'R'; else cout << 'L'; } cout << "\n"; } } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); solve(); }

Compilation message (stderr)

Main.cpp: In function 'bool trywith(std::vector<Obj>&, long long int&, long long int)':
Main.cpp:17:26: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<Obj>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         for(int j = 0; j < a.size(); j++) {
      |                        ~~^~~~~~~~~~
#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...