Cod sursa(job #1402342)

Utilizator cautionPopescu Teodor caution Data 26 martie 2015 15:00:24
Problema Lupul Urias si Rau Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <queue>
using namespace std;
const long long stride=0x100000000;
const long long wool_mask=0xFFFFFFFF;
int main()
{
    ifstream in("lupu.in");
    ofstream out("lupu.out");
    long n, x, l, a, b, ctr;
    long long aux, sum=0;
    priority_queue<long long> pq;
    in>>n>>x>>l;
    for(long i=0; i<n; ++i)
    {
        in>>a>>b;
        a=1+(x-a)/l;
        aux=a*stride+b;
        pq.push(aux);
    }
    ctr=pq.top()/stride;
    for(long i=ctr; i>0&&!pq.empty(); --i)
    {
        if(i<=pq.top()/stride)
        {
            sum+=wool_mask&pq.top();
            pq.pop();
        }
    }
    out<<sum;
    return 0;
}