Cod sursa(job #1769932)

Utilizator lucametehauDart Monkey lucametehau Data 3 octombrie 2016 13:20:31
Problema Orase Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>

using namespace std;
int m,n,i,d[50005],l[50005],lg,in,di;
void qsort(int begin,int end)
{
    int b=begin,e=end,pivot=d[(begin+end)/2];
    while(b<=e)
    {
        while(d[b]<pivot)
            b++;
        while(d[e]>pivot)
            e--;
        if(b<=e)
        {
            swap(d[b],d[e]);
            swap(l[b],l[e]);
            b++;
            e--;
        }
    }
    if(b<end)
        qsort(b,end);
    if(begin<e)
        qsort(begin,e);
}
int abs(int n)
{
    if(n<0)
        return -n;
    return n;
}
int main()
{
    cin>>m>>n;
    for(i=1;i<=n;i++)
    {
        cin>>d[i]>>l[i];
        if(lg<l[i])
            lg=l[i];
    }
    qsort(1,n);
    for(i=1;i<=n;i++)
    {
        if(l[i]==lg)
        {
            in=i;
            break;
        }
    }
    for(i=1;i<=n;i++)
    {
        if(i!=in&&lg!=l[i])
        {
            cout<<l[i]<<' '<<d[i]<<'\n';
            if(di<lg+abs(lg-d[i])+l[i])
                di=lg+abs(lg-d[i])+l[i];
        }
    }
    cout<<di;
    return 0;
}