Pagini recente » Cod sursa (job #236336) | Cod sursa (job #787924) | Cod sursa (job #2515929) | Cod sursa (job #136128) | Cod sursa (job #1477836)
# include <fstream>
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int v[500001],u,p,d[500001],i,n,k,maxim,x,y,t,semn;
char s[3000010];
int main () {
maxim=-30001;
fin>>n>>k;
fin.get();
fin.get(s, 3000000);
t = 0;
for (i=0; s[i]!=0;i++) {
if (s[i] == '-')
semn = -1;
if (s[i] == '+')
semn = 1;
if (s[i] >= '0' && s[i] <= '9')
t = t * 10 + (s[i]-'0');
if (s[i] == ' ') {
x++;
v[x] = t*semn;
t = 0;
semn = 1;
}
}
v[++x] = semn*t;
//for(i=1;i<=n;i++)
// fout<<v[i]<<" ";
u=0;
p=1;
for(i=1;i<=n;i++){
fin>>v[i];
while(u>=p&&v[i]<=v[d[u]])
u--;
u++;
d[u]=i;
if(i-d[p]==k)
p++;
if(i>=k&&v[d[p]]>maxim){
maxim=v[d[p]];
x=i-k+1;
y=i;
}
}
fout<<x<<" "<<y<<" "<<maxim;
return 0;
}