Cod sursa(job #1711600)

Utilizator popabogdanPopa Bogdan Ioan popabogdan Data 31 mai 2016 19:17:21
Problema Gardieni Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("gardieni.in");
ofstream fout("gardieni.out");
int n,t,tt;
struct abc
{
    int a,b,c;
};
abc a[50010];
int i;
ll sol;
int qx(abc a, abc b)
{
    return a.a<b.a || (a.a==b.a && (a.b<b.b || (a.b==b.b && a.c<b.c)));
}
int main()
{
    fin>>n>>t;
    for(i=1;i<=n;i++)fin>>a[i].a>>a[i].b>>a[i].c;
    sort(a+1,a+n+1,qx);
    tt=1;
    for(i=1;i<=n && tt<=t;i++)
        if(tt>=a[i].a && tt<=a[i].b)
        {
            sol+=(ll)a[i].c*(a[i].b-tt+1);
            tt=a[i].b+1;
        }
    fout<<sol<<"\n";
    return 0;
}