Submission #1140691

#TimeUsernameProblemLanguageResultExecution timeMemory
1140691hynmjSprinklers (CEOI24_sprinklers)C++20
9 / 100
51 ms2120 KiB
//~~~~~~~~~~~~~MJ®™~~~~~~~~~~~~~ #include <bits/stdc++.h> #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx") #define rep1(n) for(ll i=0; i<(ll)(n); ++i) #define rep2(i,n) for(ll i=0; i<(ll)(n); ++i) #define rep3(i,a,b) for(ll i=(ll)(a); i<(ll)(b); ++i) #define rep4(i,a,b,c) for(ll i=(ll)(a); i<(ll)(b); i+=(c)) #define cut4(a,b,c,d,e,...) e #define rep(...) cut4(__VA_ARGS__,rep4,rep3,rep2,rep1)(__VA_ARGS__) #define per1(n) for(ll i=((ll)n)-1; i>=0; --i) #define per2(i,n) for(ll i=((ll)n)-1; i>=0; --i) #define per3(i,a,b) for(ll i=((ll)a)-1; i>=(ll)(b); --i) #define per4(i,a,b,c) for(ll i=((ll)a)-1; i>=(ll)(b); i-=(c)) #define per(...) cut4(__VA_ARGS__,per4,per3,per2,per1)(__VA_ARGS__) #define ll long long #define ln cout<<endl #define int long long #define Code ios_base::sync_with_stdio(0); #define by cin.tie(NULL); #define Hayan cout.tie(NULL); #define append push_back #define all(x) (x).begin(),(x).end() #define allr(x) (x).rbegin(),(x).rend() #define vi vector<int> #define ret(x) {cout<<x;return;} #define ui map<int,int> #define pi pair<int,int> #define ff first #define ss second using namespace std; template <typename T> using v = vector<T>; const int INF = 1e18, MOD = 1e9+7, N = 2e5+7; int a[N]; int b[N]; int n, k, e, m, ans = 0; string s; bool approved(int k) { s.assign(n,'-'); int j=0; for (int i=0;i<n;i++) { while (j<m and (s[i]=='L') and a[i]-k <= b[j] and b[j] <= a[i]) { j++; } while (j<m and (s[i]=='R') and a[i] <= b[j] and b[j] <= a[i] + k) { j++; } if (s[i]=='-') { if (j<m and a[i]-k <= b[j] and b[j] < a[i] ) { s[i]='L'; j++; } else s[i]='R'; } while (j<m and (s[i]=='L') and a[i]-k <= b[j] and b[j] <= a[i]) { j++; } while (j<m and (s[i]=='R') and a[i] <= b[j] and b[j] <= a[i] + k) { j++; } } // cout <<j<<" "<<s<<endl; return j==m; } void solve() { cin >> n >> m; rep(n) { cin >> a[i]; } rep(m) { cin>>b[i]; } int l=-1,r=1e18; while (r-l>1) { int mid=(r+l)/2; if (approved(mid)) { r=mid; } else l=mid; } if (approved(r)) { cout <<r<<'\n'<<s<<endl; } else ret(-1) // cout << approved(7); // cout << a.size(); // for (auto i: a){cout << i << " ";} } signed main(){ Code by Hayan int ans=1; //cout<<setprecision(1000); // cin>>ans; rep(ans){ // cout << "Case #" << i+1 << ": "; solve();ln;}}
#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...