131582025-01-06 19:15:03csdavidBenzinkút üzemeltetés (55)cpp17Hibás válasz 12/553ms500 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct megallo{
    int tav, hasz, ertek, ind;
    vector<int> szomszed;
};

bool alma(megallo x123, megallo y123){
    return x123.ertek>y123.ertek;
}

int main()
{
    int n, mini, osszeg=0, szam=0;
    cin >> n >> mini;
    short foglalt[n];
    for(auto& it:foglalt){
        it=0;
    }
    megallo a[n];
    for(megallo& it:a){
        cin >> it.tav >> it.hasz;
    }
    for(int i=0; i<n; i++){
        int j=i+1;
        while(j<n&&(a[j].tav-a[i].tav<mini)){
            a[i].szomszed.push_back(j);
            j++;
        }
        j=i-1;
        while(j>=0&&(a[i].tav-a[j].tav<mini)){
            a[i].szomszed.push_back(j);
            j--;
        }
    }
    for(int i=0; i<n; i++){
        a[i].ertek=a[i].hasz;
        a[i].ind=i;
        for(int& it:a[i].szomszed){
            a[i].ertek-=a[it].hasz;
        }
    }
    sort(a, a+n, alma);
    for(int i=0; i<n; i++){
        if(!foglalt[a[i].ind]){
            osszeg+=a[i].hasz;
            foglalt[a[i].ind]=2;
            szam++;
            for(int& it:a[i].szomszed){
                foglalt[it]=1;
            }
        }
    }
    cout << osszeg << '\n' << szam;
    for(int i=0; i<n; i++){
        if(foglalt[i]==2){
            cout << ' ' << i+1;
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base12/55
1Elfogadva0/01ms316 KiB
2Hibás válasz0/03ms316 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Elfogadva3/31ms316 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms500 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/32ms316 KiB
13Hibás válasz0/42ms352 KiB
14Hibás válasz0/42ms316 KiB
15Hibás válasz0/52ms316 KiB
16Hibás válasz0/62ms316 KiB
17Hibás válasz0/63ms400 KiB