48452023-03-31 22:27:20rmlanTűzijátékcpp14Futási hiba 44/5046ms7052 KiB
#include<bits/stdc++.h>
using namespace std;

int n,s,t;
int main(){
     cin >> n >> s >> t;
     vector<int> a(n+1);
     for(int i = 1; i <= n; i++){
        cin >> a[i];
     }
     int dp[n+1]={0}, pr[n+1];
     //dp[s]=1;
     int li=s;
     int si2,m2=0;

     for(int i = s+1; i <= n; i++){
        while(li+1 < i){
            if(a[i]-a[li+1] >= t){
                li++;
                continue;
            }
            break;
        }
        if(a[i]-a[s] < t) continue;

        dp[i]=dp[li]+1;
        pr[i] = li;
        if(a[li]-a[s] < t){
            dp[i]=dp[s]+1;
            pr[i]=s;
        }
        if(dp[i] > m2){
            m2 = dp[i];
            si2 = i;
        }
     }
     li=s;
     int si,m=0;
     for(int i = s-1; i > 0; i--){
        while(li-1 > i){
            if(a[li-1]-a[i] >= t){
                li--;
                continue;
            }
            break;
        }
        if(a[s]-a[i] < t) continue;
        //cout << li << " " << i << endl;
        dp[i]=dp[li]+1;
        pr[i]=li;
        if(a[s]-a[li] < t){
            dp[i]=dp[s]+1;
            pr[i]=s;
        }
        if(dp[i] > m){
            m = dp[i];
            si = i;
        }

     }
    cout << m+m2+1<<endl;
    int c=si;
    vector<int> ans;
    while(c != s){
        ans.push_back(c);
        c = pr[c];
    }
    c = si2;
    while(c != s){
        ans.push_back(c);
        c = pr[c];
    }
    ans.push_back(s);
    sort(ans.begin(), ans.end());
    for(int i:ans){
        cout << i << " ";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base44/50
1Elfogadva0/03ms1808 KiB
2Elfogadva0/045ms4592 KiB
3Elfogadva2/23ms2232 KiB
4Futási hiba0/23ms2528 KiB
5Elfogadva2/23ms2640 KiB
6Futási hiba0/23ms2948 KiB
7Futási hiba0/23ms3224 KiB
8Elfogadva2/23ms3260 KiB
9Elfogadva2/24ms3224 KiB
10Elfogadva2/26ms3676 KiB
11Elfogadva2/26ms3804 KiB
12Elfogadva2/29ms4052 KiB
13Elfogadva2/29ms4312 KiB
14Elfogadva2/28ms4444 KiB
15Elfogadva3/38ms4652 KiB
16Elfogadva3/314ms4984 KiB
17Elfogadva3/318ms5072 KiB
18Elfogadva3/321ms5592 KiB
19Elfogadva3/346ms6952 KiB
20Elfogadva3/346ms6952 KiB
21Elfogadva4/445ms7052 KiB
22Elfogadva4/445ms6792 KiB