Cod sursa(job #845181)

Utilizator Detrol2kGuianu Leon Detrol2k Data 30 decembrie 2012 15:35:27
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;

#define N 50001

int v[N], sum[N], i, j, n, k, min_sum = 1<<30, max_sum = -1<<30, poz_min, poz_max;

int main()
{
	ifstream fin("secv2.in");
	ofstream fout("secv2.out");
	
	//Read
	fin>>n>>k;
	for(i=1; i<=n; i++)
		fin>>v[i];


	//Compute
	for(i=1; i<=n; i++)
	{
		sum[i] = sum[i-1]+v[i];
		if(sum[i] < min_sum)
		{
			min_sum = sum[i];
			poz_min = i;
		}
		if(i - poz_min >= k)
			if(sum[i] - min_sum > max_sum)
			{
				max_sum = sum[i] - min_sum;
				poz_max = i;
			}		
	}


	//Print
	fout<<poz_min+1<<" "<<poz_max<<" "<<max_sum;
}