Cod sursa(job #1402338)

Utilizator cautionPopescu Teodor caution Data 26 martie 2015 14:57:46
Problema Lupul Urias si Rau Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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=1; i<=ctr&&!pq.empty(); ++i)
    {
        sum+=wool_mask&pq.top();
        pq.pop();
    }
    out<<sum;
    return 0;
}