Pagini recente » Cod sursa (job #696707) | Cod sursa (job #1222243) | Cod sursa (job #3232366) | Cod sursa (job #1928388) | Cod sursa (job #333904)
Cod sursa(job #333904)
#include<fstream>
#define dmax 1000004
#define dmax2 100
using namespace std;
ifstream in("gardieni.in");
ofstream out("gardieni.out");
long long sir[dmax],c;
int n,t,a,b;
typedef int huge[dmax2];
huge nr,sum;
void incr(long long x)
{ int i;
while(x)
{ nr[0]++;
nr[nr[0]]=x%10;
x=x/10;
}
/*for(i=nr[0];i>=1;i--)
out<<nr[i];
out<<'\n'<<'\n';*/
}
void adunare()
{ int i,tr;
if(nr[0]>sum[0])
sum[0]=nr[0];
for(i=1;i<=sum[0];i++)
{ sum[i]+=(nr[i]+tr);
tr=sum[i]/10;
sum[i]%=10;
}
if(tr==1)
{ sum[0]++;
sum[sum[0]]=1;
}
/*for(i=sum[0];i>=1;i--)
out<<sum[i];
out<<'\n';*/
}
int main()
{ int i,j;
in>>n>>t;
for(i=1;i<=n;i++)
{ in>>a>>b>>c;
for(j=a;j<=b;j++)
if((c<sir[j])||(sir[j]==0))
sir[j]=c;
}
in.close();
for(i=1;i<=dmax2;i++)
{ nr[i]=0;
sum[i]=0;
}
for(i=1;i<=t;i++)
{ incr(sir[i]);
//out<<sir[i]<<'\n';
adunare();
for(j=0;j<=nr[0];j++)
nr[j]=0;
}
for(i=sum[0];i>=1;i--)
out<<sum[i];
out.close();
return 0;
}