Cod sursa(job #712267)

Utilizator himamisBencze Balazs himamis Data 13 martie 2012 11:14:38
Problema Secventa Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>

using namespace std;
int n, k;
int *v;
int elso, base;

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

void megold() {
	int min = v[0];
	for (int i = 1; i < k; i++) 
		if (min > v[i]) {
			min = v[i];
		};
	elso = 0;
	base = min;
	for (int i = 1; i < n - k + 1; i++) {
		if (v[i + k - 1] < min)
			min = v[i + k - 1];
		else
			if (v[i - 1] == min) {
				min = v[i];
				for (int j = i + 1; j < i + k; j++)
					if (min > v[j])
						min = v[j];
			};
		if (base < min) {
			base = min;
			elso = i;
		}
	}
}

void ki(){
	ofstream g("secventa.out");
	g << elso + 1 << " " << elso + k << " " << base ;
	g.close();
}


int main() {
	be();
	megold();
	ki();
}