Cod sursa(job #759513)
| Utilizator | Data | 18 iunie 2012 13:17:51 | |
|---|---|---|---|
| Problema | Secventa | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.87 kb |
#include <vector>
#include <list>
#include <map>
#include <set>
#include <queue>
#include <deque>
#include <string>
#include <algorithm>
#include <iterator>
#include <iostream>
#include <cassert>
#include <fstream>
using namespace std;
vector <int> v(500001);
int minimm(int i, int k)
{
int min = v[i];
for(int j=1; j<k; j++)
if( min > v[j+i] )
min = v[j+i];
return min;
}
int main()
{
int n, k, i, bestInd = 0, maxBase, curBase;
ifstream infile;
infile.open("secventa.in", ios::in );
infile >> n >> k;
for(i=0; i<n; i++)
{
infile >> v[i];
}
infile.close();
ofstream outfile;
outfile.open("secventa.out", ios::out );
maxBase = v[0];
for(i=1; i<=(n-k); i++)
{
curBase = minimm(i,k);
if (maxBase < curBase)
{
maxBase = curBase;
bestInd = i;
}
}
outfile << bestInd + 1 << " " << bestInd + k << " " << maxBase;
outfile.close();
return 0;
}