제출 #1132622

#제출 시각아이디문제언어결과실행 시간메모리
1132622lioowWatching (JOI13_watching)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define pb push_back #define int long long #define ll long long #define repp(i,x,n) for(int i=x;i<=n;i++) #define rep(i,x,n) for(int i=x;i<n;i++) #define repo(i,x,n) for(int i=x;i>=n;i--) #define cy cout<<"Yes"<<endl #define cn cout<<"No"<<endl #define r0 return 0 #define fi first #define se second #define liow ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define jelek cout<<"jelek"<<endl #define pii pair<int,int> #define all(v) v.begin(),v.end() #define pi pair<pair<int,int>,pair<int,int>> #define p3 pair<int,pair<int,int>> #define fl fflush(stdout) #define lb long double #define p5 pair<int,pair<pair<int,int>,pair<int,int>>> using namespace std; int dx[4]={0,0,1,-1}; int dy[4]={1,-1,0,0}; void solve(){ int n,p,q;cin>>n>>p>>q; int a[n+2]; repp(i,1,n) cin>>a[i]; sort(a+1,a+n+1); int ans=-1; int l=1,r=1e9; a[n+1]=INF; while(l<=r){ int mid=(l+r)/2; int minp=min(2000LL,p); int dp[n+2][minp+2]; repp(i,0,n) repp(j,0,minp) dp[i][j]=INF; dp[0][0]=0; int nxtp[n+2],nxtq[n+2]; int idx=1; repp(i,1,n){ int bat=a[i]+mid-1; while(a[idx]<=bat){ idx++; } nxtp[i]=idx-1; } idx=1; repp(i,1,n){ int bat=a[i]+2*mid-1; while(a[idx]<=bat){ idx++; } nxtq[i]=idx-1; } repp(i,1,n){ repp(j,0,minp){ dp[nxtp[i]][j+1]=min(dp[nxtp[i]][j+1],dp[i-1][j]); dp[nxtq[i]][j]=min(dp[nxtq[i]][j],dp[i-1][j]+1); } } int mini=INF; repp(i,0,minp) mini=min(mini,dp[n][i]); // cout<<mid<<" "<<mini<<endl; if(mini<=q){ ans=mid; r=mid-1; } else { l=mid+1; } } cout<<ans<<endl; } signed main(){ liow; int t=1; // cin>>t; while(t--) solve(); }

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

watching.cpp: In function 'void solve()':
watching.cpp:33:16: error: 'INF' was not declared in this scope
   33 |         a[n+1]=INF;
      |                ^~~