Submission #959233

#TimeUsernameProblemLanguageResultExecution timeMemory
959233AndreiBOTOCollecting Stamps 3 (JOI20_ho_t3)C++14
0 / 100
1 ms10588 KiB
#include <bits/stdc++.h> #pragma optimize GCC ("Ofast") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") ///#include <tryhardmode> ///#include <GODMODE::ON> using namespace std; ///What a day... ///You look lonely, I can fix that const long long INF=1e15; const int NMAX=2e2+5; #define int long long int dp[NMAX][NMAX][NMAX][2]; ///minimum time -> clock, counter-clock, answer, direction (0->clock, 1->counter-clock) int x[NMAX]; int t[NMAX]; int l; int get_dist(int a,int b) { ///I got guns in my head and they won't go, ///Spirits in my head and they won't go... if(a==b) return 0; else { if(a>b) swap(a,b); return min(x[b]-x[a],l-x[b]+x[a]); } } signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n,i,j,k,st,dr,best=0,ans; cin>>n>>l; for(i=1;i<=n;i++) cin>>x[i]; x[0]=0; x[n+1]=l; for(i=1;i<=n;i++) cin>>t[i]; t[0]=-INF; t[n+1]=-INF; for(i=0;i<=n+1;i++) for(j=0;j<=n+1;j++) for(k=0;k<=n+1;k++) dp[i][j][k][0]=dp[i][j][k][1]=INF; dp[0][0][0][0]=dp[0][0][0][1]=0; for(st=0;st<=n;st++) { for(dr=0;dr<=n;dr++) { if(st+dr>n) break; for(ans=0;ans<=n;ans++) { if(min(dp[st][dr][ans][0],dp[st][dr][ans][1])<INF) best=max(best,ans); if(st+1<=n) { int auxy=dp[st][dr][ans][0]+get_dist(st,st+1); auxy=min(auxy,dp[st][dr][ans][1]+get_dist(n+1-dr,st+1)); if(auxy<=t[st+1]) { dp[st+1][dr][ans+1][0]=min(dp[st+1][dr][ans+1][0],auxy); //best=max(best,ans+1); } else dp[st+1][dr][ans][0]=min(dp[st+1][dr][ans][0],auxy); } if(dr+1<=n) { int auxy=dp[st][dr][ans][1]+get_dist(n+1-dr,n+1-dr-1); auxy=min(auxy,dp[st][dr][ans][0]+get_dist(dr,n+1-dr-1)); if(auxy<=t[n+1-dr-1]) { dp[st][dr+1][ans+1][1]=min(dp[st][dr+1][ans+1][1],auxy); //best=max(best,ans+1); } else dp[st][dr+1][ans][1]=min(dp[st][dr+1][ans][1],auxy); } } } } cout<<best; return 0; }

Compilation message (stderr)

ho_t3.cpp:3: warning: ignoring '#pragma optimize GCC' [-Wunknown-pragmas]
    3 | #pragma optimize GCC ("Ofast")
      |
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...