Pagini recente » Cod sursa (job #502624) | Cod sursa (job #1372733) | Cod sursa (job #2783325) | Cod sursa (job #751769) | Cod sursa (job #47769)
Cod sursa(job #47769)
#include <cstdio>
#include <set>
#include <string>
#include <cstdlib>
#define maxn 1<<19
using namespace std;
int x[maxn];
int n, m;
char t[maxn*10];
void citire()
{
freopen("secventa.in", "r", stdin);
scanf("%d %d\n", &n, &m);
scanf("%d " ,&x[1]);
fgets(t, n*9, stdin);
char *p;
p=strtok(t, " \n");
x[2]=atoi(p);
int i;
for(i=3;i<=n;i++)
{
p=strtok(0, " \n");
x[i]=atoi(p);
}
//scanf("%d ", &x[i]);
}
void solve()
{
int i, j;
set<int> Q;
int max=-1000000, pi=0, pf=m;
//for(i=1;i<=n;i++) printf("%d ", x[i]);
//printf("\n");
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;
//printf("%d %d %d\n", x[i], x[i-m+1], min);
//for(set<int> ::iterator it=Q.begin();it!=Q.end();++it) printf("%d ", *it);
//printf("\n");
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;
}