Cod sursa(job #346682)

Utilizator chera_laryCHERA Laurentiu chera_lary Data 9 septembrie 2009 01:37:55
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#define fin "secventa.in"
#define fout "secventa.out"
#define nMax 500001
#define Inf 30001
#define min(a,b) (a<b)?a:b

using namespace std;

int n,k,poz,pozs;
int s[nMax], c[nMax];

void citeste(){
	fstream in(fin, ios::in);
	in>>n>>k;
	for(int i=1;i<=n;i++)
		in>>s[i];
	in.close();
}

void doProcess(){
	int minimum=Inf, maximum=-Inf;
	for(int i=1;i<=n;i++){
		for(int j=i;j<i+k;j++)
			if(minimum>s[j])
				minimum=s[j];
		c[i]=minimum;
		if(c[i]>maximum)
			maximum=c[i], poz=i;
		minimum=Inf;
	}
	pozs=poz+k-1;
	while(s[pozs]>=c[poz])
		pozs++;
}

void tipar(){
	fstream out(fout,ios::out);
	out<<poz<<" "<<pozs-1<<" "<<c[poz]<<endl;
	out.close();
}

int main(void){
	citeste();
	doProcess();
	tipar();
	return 0;
}