Cod sursa(job #712188)

Utilizator himamisBencze Balazs himamis Data 13 martie 2012 09:38:29
Problema Secventa Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <deque>

using namespace std;

inline void minimum(int e, int k, int v[], int &min, int &h) {
	min = 32000;
	for(int j = e; j < e + k; j++) 
		if (min > v[j]){
			min = v[j];
			h = j;
		}
}

void be(int &n, int &k, int v[500000]) {
	ifstream f("secventa.in");
	f >> n >> k;
	for(int i = 0; i < n; i++)
		f >> v[i];
}

void megold(int n, int k, int v[500000], int &mini, int &min) {
	int e = 0;
	int aktmin, h;
	for(int i = 0; i <= n - k; i++) {
		minimum(i, k, v, aktmin, h);
		if (aktmin > min) {
			min = aktmin;
			mini = h;
		}
	}
}

void ki(int mini, int min, int k){
	ofstream g("secventa.out");
	g << mini + 1 << " " << mini + k << " " << min ;
}


int main() {
	int n, k;
	int min = -32000, mini = -1;
	int *v = new int[500000];
	be(n, k, v);
	megold(n, k, v, mini, min);
	ki(mini, min, k);
}