Pagini recente » Cod sursa (job #2764179) | Cod sursa (job #853587) | Cod sursa (job #224532) | Cod sursa (job #2906433) | Cod sursa (job #1873282)
#include <iostream>
#include <fstream>
#define dim 500001
using namespace std;
ifstream fin("secventa.in");
ofstream fout("secventa.out");
int n,k,a[dim],mini,pozi,pozj,c=1;
void minim(int i,int j,int &mini,int &pozi,int &pozj,int &c)
{
int miniaux,pozauxi,pozauxj;
if(mini!=0&&pozi!=0&&pozj!=0)
{miniaux=mini;
pozauxi=pozi;
pozauxj=pozj;}
pozi=i;
pozj=j;
mini=a[i];
for(int k=i+1;k<=j;k++)
if(mini>=a[k])
mini=a[k];
if(i!=1)
if(miniaux==mini&&c==1)
{
if(pozj>pozauxj)
{pozj=pozauxj;
pozi=pozauxi;}
c++;
}
else if(miniaux==mini&&c>1)
{
if(pozi>pozauxi)
{
pozi=pozauxi;
pozj=pozauxj;
}
c++;
}
else if(miniaux>mini)
{
mini=miniaux;
pozi=pozauxi;
pozj=pozauxj;
c=1;
}
}
int main()
{
fin>>n>>k;
for(int i=1;i<=n;i++)
fin>>a[i];
for(int i=1;i<=n-k+1;i++)
minim(i,i+k-1,mini,pozi,pozj,c);
fout<<pozi<<" "<<pozj<<" "<<mini;
return 0;
}