Cod sursa(job #1615884)

Utilizator akaprosAna Kapros akapros Data 26 februarie 2016 22:08:09
Problema Gardieni Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <bits/stdc++.h>
#define maxT 1000002
#define maxN 50005
#define inf 1 << 21
#define ll long long
using namespace std;
int n, t, x[maxN], y[maxN], c[maxN], cost[maxT];
ll ans;
void read()
{
    int i;
    freopen("gardieni.in", "r", stdin);
    scanf("%d %d", &n, &t);
    for (i = 1; i <= n; ++ i)
        scanf("%d %d %d", &x[i], &y[i], &c[i]);

}
void solve()
{
    int i, j;
    for (i = 1; i <= t; ++ i)
        cost[i] = inf;
    for (i = 1; i <= n; ++ i)
        for (j = x[i]; j <= y[i]; ++ j)
            if (cost[j] > c[i])
               cost[j] = c[i];
}
void write()
{
    freopen("gardieni.out", "w", stdout);
    int i;
    for (i = 1; i <= t; ++ i)
        ans += 1LL * cost[i];
    printf("%lld", ans);
}
int main()
{
    read();
    solve();
    write();
    return 0;
}