Submission #165364

#TimeUsernameProblemLanguageResultExecution timeMemory
165364Ruxandra985Popeala (CEOI16_popeala)C++14
0 / 100
7 ms1784 KiB
#include <cstdio> #include <iostream> #define INF 3000000000 using namespace std; long long dp[51][20001]; long long ok[20010]; long long val[20010]; char res[51][20010]; int biti1 (long long x){ int sol = 0; while (x){ sol = sol + (x&1); x/=2; } return sol; } int main() { FILE *fin = stdin; FILE *fout = stdout; int n,t,s,i,j,k,nr,p; fscanf (fin,"%d%d%d",&n,&t,&s); for (i=1;i<=t;i++){ fscanf (fin,"%lld",&val[i]); val[i]+=val[i-1]; } fgetc(fin); for (i=1;i<=n;i++){ for (j=1;j<=t;j++) res[i][j] = fgetc(fin); fgetc(fin); } for (i=0;i<=t;i++) for (j=0;j<=s;j++) dp[i][j] = INF; dp[0][0] = 0; for (i=1;i<=t;i++){ for (j=1;j<=s;j++){ for (k=1;k<=n;k++) ok[k] = 1; nr = n; for (k=i;k;k--){ /// in subtaskul j sunt testele i..k for (p = 1 ; p<=n ; p++){ if (ok[p] && res[p][k]=='0'){ ok[p] = 0; nr--; } } dp[i][j] = min(dp[i][j] , dp[k-1][j-1] + nr * (val[i] - val[k-1])); } } } for (j=1;j<=s;j++) fprintf (fout,"%lld\n",dp[t][j]); return 0; }

Compilation message (stderr)

popeala.cpp: In function 'int main()':
popeala.cpp:23:12: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf (fin,"%d%d%d",&n,&t,&s);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
popeala.cpp:25:16: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf (fin,"%lld",&val[i]);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...