Cod sursa(job #314554)

Utilizator wazupPricop Mircea wazup Data 12 mai 2009 08:46:19
Problema Secventa Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <stdio.h>
FILE *fin,*fout;
long a[500001],n,k,mintemp,minnew,minall,mins,minf,i,j;
int main()
{
fin = fopen("secventa.in","rt");
fout = fopen("secventa.out","wt");
fscanf(fin,"%ld %ld\n", &n, &k);
for ( i = 0;i<n;i++)
    fscanf(fin,"%ld ",&a[i]);
mintemp=a[0];
for (i=0;i<k;i++)
   if (a[i]<mintemp) mintemp = a[i];
minall = mintemp;
for (i=0;i<n-k;i++)
   {
     if (a[i+k]<mintemp) { mintemp = a[i+k]; if (mintemp>minall) { minall = mintemp; mins = i+1; minf = i+k;} }
     else
     if (a[i]==mintemp) {  minnew = a[i+1];
			   for (j=i+2;j<=i+k;j++)
			       if (a[j]<minnew) minnew = a[j];
			   mintemp = minnew;
			   if (mintemp>minall) { minall = mintemp; mins = i+1; minf = i+k; }
			}
   }
fprintf(fout,"%ld %ld %ld\n", mins+1,minf+1,minall);
return 0;
}