Cod sursa(job #177562)

Utilizator rala03Ana Roxana Pop rala03 Data 13 aprilie 2008 12:00:40
Problema Secventa Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.24 kb
#include <stdio.h>   
#define N 500000   
char s[6*N];   
int v[N];   
int main ()   
{   
    int p,k,nr=0,i,c,semn,d=0;   
    int min,a,b,j;     
    freopen ("secventa.in","r",stdin);   
    freopen ("secventa.out","w",stdout);   
    scanf ("%d%d\n",&p,&k);   
    fgets(s,6*N,stdin);      
    for (i=0;s[i]!='\0';i++)   
    {   
        if(s[i]=='-')   
            semn=-1;   
        else  
        {   
            if (s[i]>='0' && s[i]<='9')   
            {   
                v[nr]=v[nr]*10+(s[i]-'0');   
            }   
            else  
            {   
                v[nr]*=semn;   
                semn=1;   
                nr++;   
            }   
        }   
    }   
    c=-30000;   
    a=v[0];b=v[k-1];   
    for (i=0;i<=p-k+1;i++)   
    {   
        min=v[i];   
        for (j=i;j<=i+k-1;j++)   
        {    
            if (v[j]<min)   
            {   
                min=v[j];
				d=j;
            }   
        }   
        if (min>c)   
        {   
            a=i;   
            b=i+k-1;   
            c=min;		
        }   
		if (k>20)
		{
			if (min<c)
			{
				if (d!=1)
					i=d;
			}
		}
    }      
    printf("%d %d %d",a+1,b+1,c);   
    return 0;   
}