157362025-02-25 15:23:06KristófBenzinkút üzemeltetés (55)cpp17Hibás válasz 5/553ms512 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;
        }
}



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);
            }
        }
    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
base5/55
1Elfogadva0/01ms508 KiB
2Hibás válasz0/03ms512 KiB
3Részben helyes1/31ms316 KiB
4Részben helyes1/31ms316 KiB
5Részben helyes1/31ms332 KiB
6Részben helyes1/31ms316 KiB
7Részben helyes1/31ms316 KiB
8Hibás válasz0/31ms316 KiB
9Hibás válasz0/31ms316 KiB
10Hibás válasz0/31ms316 KiB
11Hibás válasz0/31ms316 KiB
12Hibás válasz0/32ms316 KiB
13Hibás válasz0/42ms316 KiB
14Hibás válasz0/42ms460 KiB
15Hibás válasz0/52ms468 KiB
16Hibás válasz0/63ms316 KiB
17Hibás válasz0/63ms316 KiB