Cod sursa(job #47743)

Utilizator gigi_becaliGigi Becali gigi_becali Data 3 aprilie 2007 22:47:58
Problema Secventa Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#include <set>
#define maxn 1<<19
using namespace std;

int x[maxn];
int n, m;

void citire()
{
	freopen("secventa.in", "r", stdin);
	scanf("%d %d\n", &n, &m);
	int i;
	for(i=1;i<=n;i++) scanf("%d ", &x[i]);
}

void solve()
{
	int i, j;
	set<int> Q;
	int max=-0x3f3f3f3f, pi=0, pf=m;
	for(i=1;i<m;i++) Q.insert(x[i]);
	
	for(i=m;i<=n;i++)
	{
		Q.insert(x[i]);
		int min=*Q.begin();
		if(min>max) max=min, pi=i-m+1, pf=i;
		Q.erase(x[i-m+1]);
	}
	freopen("secventa.out", "w", stdout);
	printf("%d %d %d\n", pi, pf, max);
}


int main()
{
	citire();
	solve();
return 0;
}