Submission #156024

#TimeUsernameProblemLanguageResultExecution timeMemory
156024Ruxandra985Lottery (CEOI18_lot)C++14
100 / 100
1069 ms8388 KiB
#include <cstdio> #include <algorithm> using namespace std; int x; int dp[110][10010],v[10010]; pair <int,int> w[110]; int poz[110],l,d[10010]; void paralel (int i , int j){ int pas = 0; if (i==j) return; while (i && j){ pas++; x+=(v[i] != v[j]); if (pas > l) x-=(v[i+l] != v[j+l]); /// ai stabilit distanta dintre sirul care inc la i si cel care inc la j //printf ("%d %d %d\n",i,j,x); if (pas>=l){ // if (d[x] == 1){ // printf ("%d %d %d\n",i,j,x); //} dp[d[x]][i]++; } i--; j--; } } int main() { FILE *fin = stdin; FILE *fout = stdout; int n,i,q,j,last; fscanf (fin,"%d%d",&n,&l); for (i=1;i<=n;i++) fscanf (fin,"%d",&v[i]); fscanf (fin,"%d",&q); for (i=1;i<=q;i++){ fscanf (fin,"%d",&w[i].first); w[i].second = i; } sort (w+1,w+q+1); w[0].first = -1; /// d[x] = indicele minim al unui w cu w.first >= x last = q+1; for (i=l;i>=0;i--){ while (i == w[last-1].first) last--; d[i] = last; } for (i=1;i<=n;i++){ x = 0; paralel(i,n); } for (j=n-1;j;j--){ x = 0; paralel(n,j); } for (i=1;i<=q;i++){ for (j=1;j<=n;j++){ dp[i][j]+=dp[i-1][j]; } poz[w[i].second] = i; } for (i=1;i<=q;i++){ for (j=1;j<=n-l+1;j++){ fprintf (fout,"%d ",dp[poz[i]][j]); } fprintf (fout,"\n"); } return 0; }

Compilation message (stderr)

lot.cpp: In function 'int main()':
lot.cpp:37:12: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf (fin,"%d%d",&n,&l);
     ~~~~~~~^~~~~~~~~~~~~~~~~~
lot.cpp:39:16: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf (fin,"%d",&v[i]);
         ~~~~~~~^~~~~~~~~~~~~~~~
lot.cpp:40:12: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     fscanf (fin,"%d",&q);
     ~~~~~~~^~~~~~~~~~~~~
lot.cpp:42:16: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         fscanf (fin,"%d",&w[i].first);
         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#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...