Cod sursa(job #28822)

Utilizator AlxCojocaru Alexandru Alx Data 8 martie 2007 12:27:43
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <stdio.h>
using namespace std;
int a[500001];
int main()
{
 long n=0,k=0;
 freopen("secventa.in","r",stdin);
 freopen("secventa.out","w",stdout);
 char sir[3000];
 fgets(sir,100,stdin);
 int i;
 for (i=0;sir[i]>='0'&&sir[i]<='9';i++)
  n=n*10+sir[i]-'0';
 i++;
 for (;sir[i]>='0'&&sir[i]<='9';i++)
  k=k*10+sir[i]-'0';
 fgets(sir,3000000,stdin);
 int j=0;
 for (i=0;i<n;i++)
 {
  int sm=0;
  if (sir[j]=='-')
  {
   sm=1;
   j++;
  }
  for (;sir[j]>='0'&&sir[j]<='9';j++)
   a[i]=a[i]*10+sir[j]-'0';
  if (sm)
   a[i]=-a[i];
  j++;
 }
 int baza,poz,max=-32000;
 long pf;
 for (i=0;i<=n-k;i++)
 {
  baza=a[i];
  poz=i;
  for (j=1;j<k;j++)
   if (baza>a[i+j])
   {
    baza=a[i+j];
    poz=i+j;
   }
  if (max<baza)
  {
   max=baza;
   pf=i;
  }
  i=poz;
 }
 printf("%ld %ld %d\n",pf+1,pf+k,max);
 return 0;
}