Cod sursa(job #177566)

Utilizator rala03Ana Roxana Pop rala03 Data 13 aprilie 2008 12:03:30
Problema Secventa Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.42 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;         
        }      
        else  
        {   
            if (d!=1)   
                i=d;   
        }   
    }         
    printf("%d %d %d",a+1,b+1,c);      
    return 0;      
}