157372025-02-25 15:35:02KristófBenzinkút üzemeltetés (55)cpp17Hibás válasz 15/553ms544 KiB
#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;
struct tar
{

int first;
int second;
int index;

}typedef tar;

bool sor(tar a , tar b)
{
if(a.second>b.second)
    {
    return true;
    }
return false;
}

bool lehet(vector<pair<int,int>> meg,int h , vector<tar> adt, int k)
{
bool l=false;
for(int i=0;i<meg.size();i++)
    {
    if(h>=adt[meg[i].first].first+k || h<=adt[meg[i].first].first-k)
        {

        }
    else
        {
        l=true;
        }
    }
    if(l)
    return false;
    else
        {
        return true;
        }
}

bool sor2(pair<int,int> a,pair<int,int> b)
{
if(a.second<b.second)
    {
    return true;
    }
return false;
}


int main()
{
    int n, k;
    vector<pair<int,int>>meg;
    cin>>n>>k;
    pair<int,int> alma;
    vector<tar> adt (n);
    for(int i=0;i<n;i++)
        {
        cin>>adt[i].first>>adt[i].second;
        adt[i].index=i;
        }
    sort(adt.begin(),adt.end(),sor);
    int sum=0;
    for(int i=0;i<n;i++)
        {
        if(i==0 || lehet(meg,adt[i].first,adt,k))
            {
            sum+=adt[i].second;
            alma.first=i;
            alma.second=adt[i].index;
            meg.push_back(alma);
            }
        }
    sort(meg.begin(),meg.end(),sor2);
    cout<<sum<<endl;
    cout<<meg.size();
    for(int i=0;i<meg.size();i++)
        {
        cout<<" "<<meg[i].second+1;
        }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/55
1Elfogadva0/01ms316 KiB
2Hibás válasz0/03ms316 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms508 KiB
7Elfogadva3/31ms508 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms396 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/32ms316 KiB
13Hibás válasz0/42ms508 KiB
14Hibás válasz0/42ms316 KiB
15Hibás válasz0/53ms544 KiB
16Hibás válasz0/63ms328 KiB
17Hibás válasz0/63ms316 KiB