제출 #1140695

#제출 시각아이디문제언어결과실행 시간메모리
1140695Faisal_SaqibSprinklers (CEOI24_sprinklers)C++20
26 / 100
875 ms6812 KiB
#warning Check FastIO #ifdef ONLINE_JUDGE #pragma GCC optimize("Ofast") #pragma GCC target("avx,avx2,fma") #endif #include <iostream> #include <algorithm> #include <climits> #include <queue> #include <cmath> #include <map> #include <set> #include <random> #include <chrono> #include <iomanip> #include <vector> #include <fstream> using namespace std; #define vll vector<ll> #define sll set<ll> #define vstr vector<string> #define ll long long #define ld long double #define supra main #define pb push_back #define add insert #define rall(x) rbegin(x),rend(x) #define all(x) (x).begin(),(x).end() #define I ios_base::sync_with_stdio(false); #define Hear cin.tie(NULL); #define Shots cout.tie(NULL); #define Ratatatata #define bits_on(a) (__builtin_popcountll(a)) #define mx_pw2(a) (__builtin_ctzll(a)) mt19937 RNG(chrono::steady_clock::now().time_since_epoch().count()); #define SHUFFLE(v) shuffle(all(v), RNG); const ll inf=LLONG_MAX; void input(vll& a) { for(auto& i:a) cin>>i; } void pyn(bool a) { cout<<(a?"YES":"NO")<<endl; } ll powmod(ll a,ll b,ll modulo) { if(b==0){ return 1; } ll temp=powmod(a,b/2,modulo); if(b%2==0){ return (temp*temp)%modulo; } else{ return (a*((temp*temp)%modulo))%modulo; } } bool Prime(ll n){ for (ll i = 2; i*i <= n; i++) if (n % i == 0) return false; return (n>1); } void solve() { ll n,m; cin>>n>>m; vll sas(n),f(m); input(sas); input(f); if(n==1) { if(sas[0]<=f[0]) { cout<<f.back()-sas[0]<<endl; cout<<'R'<<endl; } else if(f.back()<=sas[0]) { cout<<sas[0]-f[0]<<endl; cout<<'L'<<endl; } else { cout<<-1<<endl; } } else if(n<=10) { ll s=-1,e=1e9+5; string tp; while(s+1<e) { ll mid=(s+e)/2; bool pos=0; for(ll mask=0;mask<(1<<n);mask++) { multiset<ll> cur(all(f)); string ans; for(int i=0;i<n;i++) { int l=sas[i],r=sas[i]; if(mask&(1<<i)) { ans+='L'; l-=mid; } else { ans+='R'; r+=mid; } auto it=cur.lower_bound(l); while(it!=end(cur) and (*it)<=r) { cur.erase(it); it=cur.lower_bound(l); } } if(cur.size()==0) { pos=1; tp=ans; break; } } if(pos) { e=mid; } else { s=mid; } } ll fl=1e9+5; if(e==fl) { cout<<-1<<endl; } else { cout<<e<<endl; cout<<tp<<endl; } } else { ll s=-1,e=1e9+5; string tp; while(s+1<e) { ll mid=(s+e)/2; multiset<ll> cur(all(f)); string ans; for(int i=0;i<n;i+=3) { ans+='L'; ans+='L'; ans+='R'; int l=sas[i],r=sas[i]; l-=mid; r+=mid; auto it=cur.lower_bound(l); while(it!=end(cur) and (*it)<=r) { cur.erase(it); it=cur.lower_bound(l); } } if(cur.size()==0) { e=mid; tp=ans; } else { s=mid; } } ll fl=1e9+5; if(e==fl) { cout<<-1<<endl; } else { cout<<e<<endl; cout<<tp<<endl; } } } int supra(){ I Hear Shots Ratatatata ll tqwertyuiop=1; for(int tp=1;tp<=tqwertyuiop;tp++) { // cout<<"Case #"<<tp<<": "; solve(); } return 0; } /* Bro use only in a emergency this is kind of hacking #pragma GCC optimize("Ofast,unroll-loops") #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native") */

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp:1:2: warning: #warning Check FastIO [-Wcpp]
    1 | #warning Check FastIO
      |  ^~~~~~~
#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...