Pagini recente » Cod sursa (job #2078398) | Cod sursa (job #2062040) | Cod sursa (job #1637937) | Cod sursa (job #246195) | Cod sursa (job #1964222)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("secventa.in");
ofstream g("secventa.out");
deque<int> poz,sec;
string s;
int n,k,x,mx=-30001,nr,i1,i2,rez;
bool ok;
int main()
{
f>>n>>k; getline(f,s);
getline(f,s);
for(int i=0;i<s.size();++i)
{
if (s[i] == ' ') continue;
if (s[i] == '-')
{
x = 0;
i++;
while (s[i] != ' ' && i < s.size())
{
x = x * 10 - (s[i]-'0');
i++;
}
}
else if (s[i] != ' ')
{
x = 0;
while (s[i] != ' ' && i < s.size())
{
x = x * 10 + (s[i]-'0');
i++;
}
}
nr++;
if(!sec.empty() && poz.front()<=nr-k)
{
sec.pop_front();
poz.pop_front();
}
while(!sec.empty() && sec.back()>=x)
{
sec.pop_back();
poz.pop_back();
}
sec.push_back(x);
poz.push_back(nr);
if(i>=k)
{
if(sec.front()>mx && nr>=k)
{
mx=sec.front();
i2=poz.back();
i1=i2-k+1;
}
}
}
g<<i1<<' '<<i2<<' '<<mx;
return 0;
}