제출 #124021

#제출 시각아이디문제언어결과실행 시간메모리
124021MvCTwo Antennas (JOI19_antennas)C++11
0 / 100
203 ms21820 KiB
#pragma GCC target("avx2") #pragma GCC optimization("O3") #pragma GCC optimization("unroll-loops") #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> #include<bits/stdc++.h> //#include "rail.h" #define rc(x) return cout<<x<<endl,0 #define pb push_back #define mkp make_pair #define in insert #define er erase #define fd find #define fr first #define sc second typedef long long ll; typedef long double ld; const ll INF=0x3f3f3f3f3f3f3f3f; const ll llinf=(1LL<<62); const int inf=(1<<30); const int nmax=2e5+50; const int mod=1e9+7; using namespace std; int n,i,j,rs=-1,h[nmax],a[nmax],b[nmax]; vector<int>ad[nmax],re[nmax]; pair<int,int>p,st[4*nmax]; pair<int,int> merge(pair<int,int>x,pair<int,int>y) { return mkp(max(x.fr,y.fr),min(x.sc,y.sc)); } void upd(int x,int l,int r,int p,int v) { if(l>r)return; if(l==r) { if(v==-1)st[x]=mkp(0,inf); else st[x]=mkp(v,v); return; } int mid=(l+r)/2; if(p<=mid)upd(2*x,l,mid,p,v); else upd(2*x+1,mid+1,r,p,v); st[x]=merge(st[2*x],st[2*x+1]); } pair<int,int> qry(int x,int l,int r,int tl,int tr) { if(tl>r || tr<l)return mkp(0,inf); if(tl<=l && r<=tr)return st[x]; int mid=(l+r)/2; return merge(qry(2*x,l,mid,tl,tr),qry(2*x+1,mid+1,r,tl,tr)); } int main() { //freopen("sol.in","r",stdin); //freopen("sol.out","w",stdout); //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0); cin>>n; for(i=1;i<=n;i++) { cin>>h[i]>>a[i]>>b[i]; ad[min(n+1,i+a[i])].pb(i); re[min(n+1,i+b[i]+1)].pb(i); } for(i=1;i<=4*n;i++)st[i]=mkp(0,inf); for(i=1;i<=n;i++) { for(j=0;j<ad[i].size();j++) { upd(1,1,n,ad[i][j],h[ad[i][j]]); } for(j=0;j<re[i].size();j++) { upd(1,1,n,re[i][j],-1); } if(i-a[i]>=1) { p=qry(1,1,n,max(i-b[i],1),max(i-a[i],1)); rs=max(rs,abs(p.fr-h[i])); rs=max(rs,abs(p.sc-h[i])); } } cout<<rs<<endl; return 0; }

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

antennas.cpp:2:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("O3")
 
antennas.cpp:3:0: warning: ignoring #pragma GCC optimization [-Wunknown-pragmas]
 #pragma GCC optimization("unroll-loops")
 
antennas.cpp: In function 'int main()':
antennas.cpp:68:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(j=0;j<ad[i].size();j++)
           ~^~~~~~~~~~~~~
antennas.cpp:72:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(j=0;j<re[i].size();j++)
           ~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...