Cod sursa(job #515531)

Utilizator valentin.harsanValentin Harsan valentin.harsan Data 21 decembrie 2010 17:48:30
Problema Carnati Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<iostream>
#include<fstream>
using namespace std;
const int N=2000;
int n,c,i,j,v1[N],v2[N],sum,smax,t;
ifstream aa("carnati.in");
ofstream ss("carnati.out");
int main() {
	aa >> n >> c;
	for (i=1;i<=n;++i) {
		aa >> v1[i] >> v2[i];
	}
	for (i=1;i<=n;++i) {
		sum=0;
		t=0;
		for (j=1;j<=n;++j) {
			if (v2[j]>=v2[i]) {
				sum+=v2[i]-c*(v1[j]-t);
				t=v1[j];
			}
			if (sum<v2[i] && v2[j]>=v2[i]) {
				sum=v2[i];
				t=v1[j];
			}
			if (sum<0) {
				sum=0;
				t=v1[j+1];
			}	
			if (sum>smax) smax=sum-c;
		}			
	}
	ss << smax;
	aa.close();
	ss.close();
	return 0;
}