137382025-01-08 15:56:26tomi7Benzinkút üzemeltetés (55)cpp17Hibás válasz 0/553ms508 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    int n, k;cin>>n>>k;
    vector<int> a(n), b(n);
    for(int i=0;i<n;i++){
        cin>>a[i]>>b[i];
    }
    vector<int> dp(n);
    vector<bool> check(n, false);
    dp[0]=b[0];
    for(int i=1;i<n;i++){
        int h=-1;
        for(int j=0;j<n;j++){
            if(a[i]-a[j]>k){
                h=j;
            }
        }
        if(h==-1){
            if(b[i]>dp[i-1]){
                dp[i]=b[i];
                check[i]=true;
            }else{
                dp[i]=dp[i-1];
            }
        }else{
            if(b[i]+dp[h]>dp[i-1]){
                dp[i]=b[i]+dp[h];
                check[i]=true;
            }else{
                dp[i]=dp[i-1];
            }
        }
    }
    cout<<dp[n-1]<<'\n';
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/55
1Hibás válasz0/01ms316 KiB
2Hibás válasz0/03ms316 KiB
3Hibás válasz0/31ms316 KiB
4Hibás válasz0/31ms316 KiB
5Hibás válasz0/31ms316 KiB
6Hibás válasz0/31ms316 KiB
7Hibás válasz0/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/31ms508 KiB
13Hibás válasz0/42ms316 KiB
14Hibás válasz0/42ms380 KiB
15Hibás válasz0/53ms316 KiB
16Hibás válasz0/62ms316 KiB
17Hibás válasz0/62ms396 KiB