Submission #1140547

#TimeUsernameProblemLanguageResultExecution timeMemory
1140547Muhammad_AneeqSprinklers (CEOI24_sprinklers)C++20
26 / 100
2089 ms1708 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> #include <vector> #include <algorithm> #warning check the output using namespace std; int const N=1e5+10; int s[N],f[N]; char ans[N]={}; int n,m; bool vis[N]={}; bool check(int ran) { int dif[m+10]={}; for (int i=0;i<n;i++) { if (ans[i]=='L') { int l=lower_bound(f,f+m,s[i]-ran)-f; int r=upper_bound(f,f+m,s[i])-f; dif[l]++; dif[r]--; } else { int l=lower_bound(f,f+m,s[i])-f; int r=upper_bound(f,f+m,s[i]+ran)-f; dif[l]++; dif[r]--; } } for (int i=1;i<m;i++) dif[i]+=dif[i-1]; for(int i=0;i<m;i++) { if (dif[i]==0) return 0; } return 1; } inline void solve() { cin>>n>>m; for (int i=0;i<n;i++) cin>>s[i]; for (int i=0;i<m;i++) cin>>f[i]; bool subt2=(n%3==0); for(int i=0;i<n;i+=3) { if (s[i]==s[i+1]&&s[i]==s[i+2]) continue; else subt2=0; } if (subt2) { for (int i=0;i<n;i+=3) { ans[i]=ans[i+1]='L'; ans[i+2]='R'; } int st=-1,en=1e9+10; while (st+1<en) { int mid=(st+en)/2; if (check(mid)) en=mid; else st=mid; } if (check(en)==0) { cout<<-1<<endl;return; } cout<<en<<endl; for (int i=0;i<n;i++) cout<<ans[i]; cout<<endl; return; } int co=1e9+10; string z; for (int i=0;i<(1<<n);i++) { for (int j=0;j<n;j++) { if ((1<<j)&i) ans[j]='R'; else ans[j]='L'; } int st=-1,en=1e9+10; while (st+1<en) { int mid=(st+en)/2; if (check(mid)) en=mid; else st=mid; } if (check(en)==0) continue; if (en<co) { co=en; z=""; for (int i=0;i<n;i++) z+=ans[i]; } } if (co>1e9) { cout<<-1<<endl;return; } cout<<co<<endl; cout<<z<<endl; } int main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int t=1; for (int i=1;i<=t;i++) { solve(); } }

Compilation message (stderr)

Main.cpp:10:2: warning: #warning check the output [-Wcpp]
   10 | #warning check the output
      |  ^~~~~~~
#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...