Pagini recente » Cod sursa (job #2441564) | Cod sursa (job #3189981) | Cod sursa (job #3001023) | Cod sursa (job #3165994) | Cod sursa (job #346682)
Cod sursa(job #346682)
#include <fstream>
#define fin "secventa.in"
#define fout "secventa.out"
#define nMax 500001
#define Inf 30001
#define min(a,b) (a<b)?a:b
using namespace std;
int n,k,poz,pozs;
int s[nMax], c[nMax];
void citeste(){
fstream in(fin, ios::in);
in>>n>>k;
for(int i=1;i<=n;i++)
in>>s[i];
in.close();
}
void doProcess(){
int minimum=Inf, maximum=-Inf;
for(int i=1;i<=n;i++){
for(int j=i;j<i+k;j++)
if(minimum>s[j])
minimum=s[j];
c[i]=minimum;
if(c[i]>maximum)
maximum=c[i], poz=i;
minimum=Inf;
}
pozs=poz+k-1;
while(s[pozs]>=c[poz])
pozs++;
}
void tipar(){
fstream out(fout,ios::out);
out<<poz<<" "<<pozs-1<<" "<<c[poz]<<endl;
out.close();
}
int main(void){
citeste();
doProcess();
tipar();
return 0;
}