Cod sursa(job #448136)

Utilizator dtoniucDaniel Toniuc dtoniuc Data 2 mai 2010 20:44:40
Problema Gardieni Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
int n,t,T[1000000],s[50],v[10];
struct str{int a,b,c;} A[50005];
void citire()
{
	ifstream fin ("gardieni.in");
	fin >>n>>t;
	for (int i=1;i<=n;i++)
		fin>>A[i].a>>A[i].b>>A[i].c;
	fin.close();
}
int main ()
{
	ofstream fout("gardieni.out");
	citire();
	for (int i=1;i<=n;i++)
		for (int j=A[i].a;j<=A[i].b;j++)
				if (T[j]==0 || T[j]>A[i].c)
					T[j]=A[i].c;
	for (int i=1;i<=t;i++)
		{
			v[0]=0;
			int t2=0;
			while(T[i])
			{
				++v[0];
				v[v[0]]=T[i]%10;
				T[i]/=10;
			}
			if (s[0]==0) s[0]=v[0];
			for (int j=1;j<=v[0];j++)
			{
				s[j]+=v[j]+t2;
				t2=s[j]/10;
				s[j]%=10;
			}
			if (t2) s[++s[0]]=t2;
		}
	for (int i=1;i<=s[0];i++)
		fout<<s[i];
	return 0;
}