Cod sursa(job #2420720)

Utilizator 53215343214Nejneriu Mihai 53215343214 Data 13 mai 2019 09:43:51
Problema Lupul Urias si Rau Scor 16
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <bits/stdc++.h>
using namespace std;
struct
{
    long long dist;
    long long val;
}oite[100001];
int main()
{
    ifstream f("lupu.in");
    ofstream g("lupu.out");
    int oi,n,m,i,ok,poz,z,x,j,maxim,maxi;
    unsigned long long sum;
    sum=0;
    f>>oi>>n>>m;
    for(i=1;i<=oi;i++)
        f>>oite[i].dist>>oite[i].val;
    x=0;
    for(i=1;i<oi;i++)
        for(j=i+1;j<=oi;j++)
        if(oite[i].dist<oite[j].dist)
    {swap(oite[i].dist,oite[j].dist);
    swap(oite[i].val,oite[j].val);}
    i=1;
    for(i=1;i<=oi;i++)
        if(oite[i].dist<=n) break;
    poz=i;
    ok=1;
    while(ok)
    {
        maxim=0;
        maxi=0;
        while(n-m<oite[i].dist&&i<=oi)
        {
            if(oite[i].val>=maxim) {maxim=oite[i].val; maxi=i;}
            i++;
        }
        sum+=oite[maxi].val;
        if(n!=0) n=max(0,n-m);
        else ok=0;

    }
    g<<sum<<'\n';}