제출 #1140689

#제출 시각아이디문제언어결과실행 시간메모리
1140689Muhammad_AneeqSprinklers (CEOI24_sprinklers)C++20
3 / 100
75 ms1092 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=0; for (int i=0;i<n;i++) { if (ind==m) { ans[i]='R'; continue; } int z=lower_bound(f,f+m,s[i])-f; if (z<=ind) { ans[i]='R'; ind=upper_bound(f,f+m,s[i]+ran)-f; } else { if (i==n-1) { ans[i]='L'; break; } int j=i; int s1=upper_bound(f,f+m,s[i])-f; while (j<n) { int z=lower_bound(f,f+m,s[j])-f; if (z<=s1&&s[j]-f[ind]<=ind) j++; else break; } j--; for (int k=i;k<j;k++) { ans[k]='R'; ind=max(ind,int(upper_bound(f,f+m,s[k]+ran)-f)); } ans[j]='L'; ind=max(ind,int(upper_bound(f,f+m,s[j])-f)); } } 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++) 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...