Cod sursa(job #1339452)

Utilizator retrogradLucian Bicsi retrograd Data 10 februarie 2015 21:52:44
Problema Euro Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream>
#include<limits>

using namespace std;
typedef int64_t var;

ifstream fin("euro.in");
ofstream fout("euro.out");

#define MAXN 34568
const var INF = numeric_limits<var>::max()-2;

var V[MAXN], BEST[MAXN];
var n, t;


int main() {
    fin>>n>>t;
    for(var i=1; i<=n; i++) {
        fin>>V[i];
    }

    var sum;

    for(var i=1; i<=n; i++) {
        sum = V[i];
        //BEST[i] = BEST[i-1] + V[i]*i;
        BEST[i] = -INF;
        for(var j=i-1; j>=0; j--) {

            BEST[i] = max(BEST[i], BEST[j] + sum*i);
            sum += V[j];
        }
        BEST[i] -= t;
    }

    fout<<BEST[n];

    return 0;
}