Pagini recente » Cod sursa (job #2620477) | Cod sursa (job #2462491) | Cod sursa (job #2729350) | Cod sursa (job #2063873) | Cod sursa (job #717563)
Cod sursa(job #717563)
# include <fstream>
# include <iostream>
using namespace std;
void Citire(long sir[], unsigned long &n, unsigned long &k)
{
ifstream f("secventa.in");
unsigned long i;
f >>n;
f >>k;
for (i=0;i<n;i++)
f >> sir[i];
f.close();
}
void Scriere(unsigned long a, unsigned long b, long minim)
{
ofstream g("secventa.out");
g << a <<" " <<b <<" " <<minim;
g.close();
}
void Secv(long sir[], unsigned long n, unsigned long k, unsigned long &incp, long &secvMin)
{
long minim;
unsigned long i=0,j,poz,pozMin,incep;
secvMin = sir[0];
pozMin = 0;
incp = 0;
for(i=1;i<k;i++){
if (sir[i]< secvMin){
secvMin = sir[i];
pozMin = i;
}
}
i = pozMin + 1;
while (i < n-k+1){
incep = i;
minim = sir[i];
poz = i;
for(j= i+1; j < k + i; j++){
if (sir[j]< minim){
minim = sir[j];
poz = j;
}
}
if (minim > secvMin){
secvMin = minim;
pozMin = poz;
incp = incep;
}
i = poz+1;
}
}
int main(){
long sir[500000];
unsigned long n, k, incp=0;
long secvMin=0;
Citire(sir,n,k);
Secv(sir,n,k,incp,secvMin);
Scriere(incp+1, incp+k, secvMin);
return 0;
}