Cod sursa(job #518372)

Utilizator Cmasterclaudiu Cmaster Data 31 decembrie 2010 12:36:19
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
using namespace std;
int n,k,i,j,mint,maxt,v[500001],incep,sfarsit,p;
 
ifstream f("secventa.in");
ofstream g("secventa.out");

int calcmin (int i)
{
    int minim,q;
    minim=v[i];
    p=i;
    for(q=i;q<=i+k-1;q++)
        if(v[q]<minim)
        {
            minim=v[q];
            p=q;
        }
        return minim;
}
         
     
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
        f>>v[i];
mint=v[1];
for(i=2;i<=k;i++) if(v[i]<mint)  mint=v[i];
maxt=mint;                
incep=1;
sfarsit=k;
         
for(i=2;i<=n-k+1;i++){
if(v[i+k-1]<mint) mint=v[i+k-1];
            else if(p<i) mint=calcmin(i);
if(mint>maxt)
	{maxt=mint;
	incep=i;
	sfarsit=i+k-1;}
}
g<<incep<<" "<<sfarsit<<" "<<maxt<<" ";
        return 0;
}