Cod sursa(job #2311931)
Utilizator | Data | 3 ianuarie 2019 21:06:26 | |
---|---|---|---|
Problema | Secventa | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 1.77 kb |
#include <fstream>
#include <deque>
using namespace std;
int main()
{
ifstream cin ("secventa.in");
ofstream cout ("secventa.out");
deque <int> dq;
int n,k,minn=30002,maxx=-30002,p,u,pm,um;
cin>>n>>k;
int v;
p=u=pm=um=0;
for(int i=0;i<n;i++)
{
cin>>v;
if(dq.size()<k)
{
dq.push_back(v);
minn=min(minn,v);
u=i;
if(dq.size()<k)
continue;
if(minn>maxx)
{
maxx=minn;
pm=p;
um=u;
}
else if(minn==maxx)
{
if(p<pm)
{
pm=p;
um=u;
}
else if(p==pm)
if(um<u)
um=u;
}
continue;
}
if(v>minn)
{
p++;
u++;
if(dq.size()<=0)
{
dq.size();
}
dq.pop_front();
dq.push_back(v);
minn=30002;
for(int j=0;j<dq.size();j++)
minn=min(minn,dq.at(j));
}
else
{
if(minn>maxx)
{
maxx=minn;
pm=p;
um=u;
}
else if(minn==maxx)
{
if(p<pm)
{
pm=p;
um=u;
}
else if(p==pm)
if(um<u)
um=u;
}
dq.clear();
p=i+1;
minn=30002;
}
}
cout<<pm+1<<" "<<um+1<<" "<<minn;
return 0;
}