Pagini recente » Cod sursa (job #468224) | Cod sursa (job #2962103) | Cod sursa (job #2513456) | Cod sursa (job #1960326) | Cod sursa (job #727672)
Cod sursa(job #727672)
//Include
#include <fstream>
using namespace std;
//Definitii
#define leftSon node<<1
#define rightSon (node<<1)+1
//Constante
const int MAX_T = (int)1e6+1;
//Functii
void update(int, int, int);
//Variabile
ifstream in("gardieni.in");
ofstream out("gardieni.out");
int n, t;
int iLeft, iRight;
int poz, val;
int tree[MAX_T<<2];
//Main
int main()
{
in >> n >> t;
for(int i=1 ; i<=n ; ++i)
{
in >> iLeft >> iRight >> val;
for(poz=iLeft ; poz<=iRight ; ++poz)
update(1, 1, t);
}
out << tree[1];
in.close();
out.close();
return 0;
}
void update(int node, int left, int right)
{
if(left == right)
{ tree[node] = val; return; }
int mid = (left + right) >> 1;
if(poz <= mid)
update(leftSon, left, mid);
else
update(rightSon, mid+1, right);
tree[node] = tree[leftSon] + tree[rightSon];
}