Pagini recente » Cod sursa (job #2104983) | Cod sursa (job #679953) | Cod sursa (job #1154069) | Cod sursa (job #1010676) | Cod sursa (job #43549)
Cod sursa(job #43549)
#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;
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 = 1; 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 < minim(i, i+k-1))
{
p = minim(i, i+k-1);
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];
//fprintf(fout, "%d\n", mini);
}
return mini;
}
void Write()
{
fprintf(fout, "%d %d %d", inc, fin, p);
}