Pagini recente » Cod sursa (job #594807) | Cod sursa (job #1144019) | Cod sursa (job #2683921) | Cod sursa (job #2648804) | Cod sursa (job #89069)
Cod sursa(job #89069)
#include<iostream>
#include<fstream>
#include<values.h>
using namespace std;
long n,k,a[50],b[4],c[4];
int baza=MAXINT;
void citire(){
ifstream fin("secventa.in");
fin>>n>>k;
for(int i=0;i<n;i++)
fin>>a[i];
fin.close();
}
void aflare(){
int baz=MAXINT;
b[0]=a[0];
b[1]=a[k-1];
for(int i=0;i<k;i++)
if(a[i]<baz)
baz=a[i];
c[0]=0;
c[1]=k-1;
int u=i+1;
while(a[u]>baz){
u++;
c[1]=u;
b[1]=a[u];
}
baza=baz;
for(int o=k;o<=n-k;o++){
baz=MAXINT;
int x=0;
for(int l=o;x<k;x++){
if(a[l]<baz){
baz=a[l];
b[2]=a[l];
c[2]=l;
}
b[3]=a[l];
c[3]=l;
l++;
}
while(a[l]>baz){
b[3]=a[l];
c[3]=l;
l++;
}
if(baz>baza){
baza=baz;
b[0]=b[2];
b[1]=b[3];
c[0]=c[2];
c[1]=c[3];
}
if(baz==baza && c[1]<c[3]){
b[0]=b[2];
b[1]=b[3];
c[0]=c[2];
c[1]=c[3];
}
}
}
void afisare(){
ofstream fout("secventa.out");
fout<<c[0]+1<<" "<<c[1]+1<<" "<<baza;
fout.close();
}
int main(){
citire();
aflare(baza);
afisare();
return 0;
}