Pagini recente » Cod sursa (job #620419) | Cod sursa (job #1241950) | Cod sursa (job #1060101) | Cod sursa (job #1532172) | Cod sursa (job #1181167)
#include <fstream>
#include <deque>
using namespace std;
struct prom
{
int nr,pos;
};
deque <prom> deck;
deque <prom> ::iterator it;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int main()
{
int n,k,r,i,x=0,y,sol;
fin>>n>>k;
prom pas;y=k;
for(i=1;i<=n;i++)
{
fin>>r;
pas.nr=r;
pas.pos=i;
if(i<=k)
{ it=deck.end();
while(it->nr<r) {deck.pop_back();it--;}
deck.push_back(pas);
if(i==k)
{ it=deck.begin();
sol=it->nr;
x=1;y=k;
}
}
else
{ it=deck.begin();
while(it->pos<=i-k) {deck.pop_front();it++;}
it=deck.end();
while(it->nr<r) {deck.pop_back();it--;}
deck.push_back(pas);
it=deck.begin();
if(it->nr>sol) sol=it->nr,x=it->pos,y=i;
}
}
fout<<x<<" "<<y<<" "<<sol;
}