제출 #601369

#제출 시각아이디문제언어결과실행 시간메모리
601369alexander707070The short shank; Redemption (BOI21_prison)C++14
15 / 100
2083 ms111452 KiB
#include<bits/stdc++.h> #define MAXN 4007 using namespace std; const long long inf=1e16; int n,d; long long t,a[MAXN]; long long cost[MAXN][MAXN],mins; long long dp[MAXN][MAXN],opt[MAXN][MAXN]; int main(){ cin>>n>>d>>t; for(int i=1;i<=n;i++){ cin>>a[i]; } for(int i=1;i<=n;i++){ mins=inf; for(int f=i;f<=n;f++){ cost[i][f]=cost[i][f-1]; if(min(a[f],f+mins)<=t)cost[i][f]++; mins=min(mins,a[f]-f); } } dp[0][0]=0; for(int i=1;i<=n;i++){ dp[0][i]=dp[i][0]=inf; } for(int s=1;s<=d+1;s++){ for(int pos=1;pos<=n;pos++){ dp[pos][s]=inf; for(int k=1;k<=pos;k++){ if(dp[k-1][s-1]+cost[k][pos]<dp[pos][s]){ dp[pos][s]=dp[k-1][s-1]+cost[k][pos]; opt[pos][s]=k; } } } } for(int i=1;i<=n-1;i++){ if(opt[i][d/2+1]>opt[i+1][d/2+1])cout<<1/0; } cout<<dp[n][d+1]<<"\n"; return 0; }

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

prison.cpp: In function 'int main()':
prison.cpp:47:49: warning: division by zero [-Wdiv-by-zero]
   47 |         if(opt[i][d/2+1]>opt[i+1][d/2+1])cout<<1/0;
      |                                                ~^~
#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...