Cod sursa(job #916578)

Utilizator dobrebogdanDobre Bogdan Mihai dobrebogdan Data 16 martie 2013 17:53:53
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<stdio.h>
#include<algorithm>
#include<deque>
using namespace std;
struct f
{
  short  int b,t;
}v[100005];
struct bog
{
    long a,f;
};
bool cmp(f c,f d)
{
    if(c.b!=d.b)
    return c.b<d.b;
    return c.t<d.t;
}
int main()
{
    freopen("heavymetal.in","r",stdin);
    freopen("heavymetal.out","w",stdout);
int n,i;
long val,max;
max=0;
bog el,el2;
deque<bog>de;
scanf("%d",&n);
for(i=1;i<=n;i++)
scanf("%hd%hd",&v[i].b,&v[i].t);
sort(v+1,v+n+1,cmp);
val=el.f=v[1].t;
el.a=1;
el.f=v[1].t-v[1].b;
de.push_back(el);
/*while(!de.empty())
{
el=de.front();
val=el.f;
de.pop_front();
for(i=el.a+1;i<=n;i++)
{
if(v[i].b<v[i-1].t)
{
el2.a=i;
el2.f=val+v[i].t-v[i].b-v[i-1].t+v[i-1].b;
de.push_back(el2);
}
else
val=val+v[i].t-v[i].b;
if(val>max)
max=val;
}
}*/
printf("%ld\n",max);
    return 0;
}