Cod sursa(job #1566702)

Utilizator tqmiSzasz Tamas tqmi Data 12 ianuarie 2016 14:53:40
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <fstream>
#include <algorithm>
#define NMax 1000005
using namespace std;
ifstream fin("heavymetal.in");
ofstream fout("heavymetal.out");
struct timp
{
    int in,sf;
};
timp t[NMax];
int N,i,sol,v,k;
void read()
{
    fin>>N;
    for(i=1;i<=N;i++)
    {
        fin>>t[i].in;
        fin>>t[i].sf;
    }
}
int comp(timp a,timp b)
{
    if(a.in!=b.in){return a.in<b.in;}
    else{return a.sf<b.sf;}
}
void solve()
{
    sort(t+1,t+N+1,comp);
    k=1;v=1;
    for(i=2;i<=N;i++)
    {
        if(t[i].in<=t[v].sf)
        {
            v=i;
        }
        else
        {
            sol+=t[v].sf-t[k].in;
            k=i;v=i;
        }
    }
    sol+=t[v].sf-t[k].in;
}
void print()
{
    fout<<sol<<"\n";
}
int main()
{
    read();
    solve();
    print();
    return 0;
}