Pagini recente » Cod sursa (job #39706) | Cod sursa (job #3222494) | Cod sursa (job #368033) | Cod sursa (job #2301306) | Cod sursa (job #43554)
Cod sursa(job #43554)
#include <stdio.h>
#include <deque>
#include <vector>
using namespace std;
void Read();
void Write();
void Solve();
int minim(int st, int dr);
FILE* fout = fopen("secventa.out", "wt");
vector<int> a;
deque<int> q;
int n, k, p, inc, fin, mini, p1, pas;
void Read()
{
FILE* fin = fopen("secventa.in", "rt");
fscanf(fin, "%d %d", &n, &k);
a.resize(n+1);
//q.resize(k+1);
for(int i = 0; i < n; i++)
fscanf(fin, "%d", &a[i]);
fclose(fin);
}
int main()
{
Read();
Solve();
Write();
fclose(fout);
return 0;
}
void Solve()
{
/*for(int i = 0; i < k; i++)
q[i] = a[i];*/
p = minim(0, k-1);
//fprintf(fout, "%d", p);
//p1 = 0;
for(int i = pas; i < n; i++)
{
if(i+k-1 >= n) break;
else
{
if(i+k-1 < n)
{
p1 = minim(i, i+k-1);
//fprintf(fout, "%d\n", p1);
if(p < p1)
{
p = p1;
inc = i+1;
fin = i+k;
}
}
}
}
}
int minim(int st, int dr)
{
mini = 32001;
for(int i = st; i <= dr; i++)
{
//fprintf(fout, "%d\n", a[i]);
if(a[i] < mini)
{
mini = a[i];
pas = i;
}
//fprintf(fout, "%d\n", mini);
}
return mini;
}
void Write()
{
fprintf(fout, "%d %d %d", inc, fin, p);
}