Pagini recente » Cod sursa (job #1869183) | Cod sursa (job #686804) | Cod sursa (job #2856430) | Cod sursa (job #1173703) | Cod sursa (job #47780)
Cod sursa(job #47780)
#include <cstdio>
#include <set>
#include <string>
#include <cstdlib>
#define maxn 1<<21
using namespace std;
int x[maxn];
int n, m;
char ax[maxn*20];
void citire()
{
freopen("secventa.in", "r", stdin);
scanf("%d %d\n", &n, &m);
gets(ax);
char *p;
p=strtok(ax, " \n");
x[1]=atoi(p);
// p=strtok(0, " \n");
// m=atoi(p);
//x[2]=atoi(p);
int i;
for(i=2;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;
}