제출 #1140602

#제출 시각아이디문제언어결과실행 시간메모리
1140602Muhammad_AneeqSprinklers (CEOI24_sprinklers)C++20
20 / 100
542 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 ind=-1; for (int i=0;i<n;i++) { int z=lower_bound(f,f+m,s[i])-f; if (z<=ind+1) { ans[i]='R'; ind=upper_bound(f,f+m,s[i]+ran)-f; ind--; } else { if (i+1<n) { int l,r; l=upper_bound(f,f+m,s[i])-f; r=upper_bound(f,f+m,s[i+1])-f; if (l==r) { ans[i]='L'; ind=upper_bound(f,f+m,s[i])-f; ind--; } else { if (s[i+1]-ran<=f[ind+1]) { ans[i+1]='L'; ans[i]='R'; ind=upper_bound(f,f+m,s[i]+ran)-f; ind--; i++; } else { ans[i]='L'; ind=upper_bound(f,f+m,s[i])-f; ind--; } } } else ans[i]='L'; } if (ind==m-1) break; } 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<m;i++) ans[i]='L'; for (int i=0;i<n;i++) cin>>s[i]; for (int i=0;i<m;i++) cin>>f[i]; if (n==1) { if (s[0]>=f[m-1]) { cout<<s[0]-f[0]<<endl; cout<<"L\n"; return; } if(s[0]<=f[0]) { cout<<f[m-1]-s[0]<<endl; cout<<"R\n"; return; } cout<<-1<<endl;return; } 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; } 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(); } }

컴파일 시 표준 에러 (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...