Submission #59045

#TimeUsernameProblemLanguageResultExecution timeMemory
59045sansae리조트 (KOI16_resort)C++14
100 / 100
4 ms1152 KiB
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <vector> #include <iostream> using namespace std; int main() { int n, m; scanf("%d %d", &n, &m); int goo[n]; for(int i=0;i<n;i++){ goo[i]=1; } int a[m]; for(int i=0;i<m;i++){ scanf("%d", &a[i]); goo[a[i]-1]=0; } int dp[n+6][4*n]; for(int i=0;i<n+6;i++){ for(int j=0;j<4*n;j++){ dp[i][j]=0; } } for(int i=n;i<=n+5;i++){ for(int j=0;j<4*n;j++){ dp[i][j]=0; } } for(int j=3*n;j<4*n;j++){ for(int i=0;i<n;i++){ dp[i][j]=0; } } for(int i=n-1;i>=0;i--){ for(int j=3*n-1;j>=0;j--){ if(goo[i]==0){ dp[i][j]=dp[i+1][j]; } else{ int aa=dp[i+1][j]+10000; int bb=dp[i+3][j+1]+25000; int cc=dp[i+5][j+2]+37000; int dd; if(j>=3){ dd=dp[i+1][j-3]; } int min=aa; if(min>bb){ min=bb; } if(min>cc){ min=cc; } if(j>=3){ if(min>dd){ min=dd; } } dp[i][j]=min; } } } printf("%d", dp[0][0]); }

Compilation message (stderr)

resort.cpp: In function 'int main()':
resort.cpp:10:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d", &n, &m);
  ~~~~~^~~~~~~~~~~~~~~~~
resort.cpp:17:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &a[i]);
   ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...