44782023-03-28 13:02:59gyjazminTűzijátékcpp11Accepted 50/5048ms9952 KiB
#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int N;
    int S;
    int T;
    cin >> N >> S >> T;
    vector<int> tavok(N+1);
    for (int i=1; i<N+1;i++){
        cin >> tavok[i];
    }
    vector<vector<int>> telepulesek(N+1);/*
    if (S!=1){
        telepulesek[1].push_back(1);
        for ( int i=2; i<S;i++){
            telepulesek[i].push_back(i);
            int maxe=0;
            int maxi=i;
            for (int j=i-1;j>0;j--){
                if (tavok[i]-tavok[j]>=T){
                    if(telepulesek[j].size()>maxe){
                    maxe= telepulesek[j].size();
                    maxi = j;
                    }

                }
            }
            if(maxe>0){
                for(int x : telepulesek[maxi]){
                    telepulesek[i].push_back(x);
                }
            }
        }
        int maxi=0;
        for (int i=1; i<S;i++){
            if (tavok[S]-tavok[i]>=T){
                if (telepulesek[i].size()>telepulesek[maxi].size()){
                    maxi = i;
                }
            }
        }
        for (int x : telepulesek[maxi]){
            telepulesek[S].push_back(x);
        }
    }*/
    int utso=tavok[S]-T;
    for(int i=S-1;i>0;i--){
        if(tavok[i]<=utso){
            telepulesek[S].push_back(i);
            utso = tavok[i]-T;
        }
    }
    telepulesek[S].push_back(S);
    int utolso=tavok[S]+T;
    for(int i=S+1;i<N+1;i++){
        if(tavok[i]>=utolso){
            telepulesek[S].push_back(i);
            utolso = tavok[i]+T;
        }
    }
    cout << telepulesek[S].size() << endl;
    sort(telepulesek[S].begin(),telepulesek[S].end());
    for(int x: telepulesek[S]){
        cout << x << " ";
    }
    cout<< endl;
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/03ms1808 KiB
2Accepted0/045ms7812 KiB
3Accepted2/23ms2276 KiB
4Accepted2/23ms2512 KiB
5Accepted2/23ms2568 KiB
6Accepted2/23ms2632 KiB
7Accepted2/23ms2740 KiB
8Accepted2/23ms2984 KiB
9Accepted2/24ms3152 KiB
10Accepted2/26ms3488 KiB
11Accepted2/26ms3364 KiB
12Accepted2/29ms4116 KiB
13Accepted2/29ms4224 KiB
14Accepted2/28ms4440 KiB
15Accepted3/38ms4692 KiB
16Accepted3/314ms5424 KiB
17Accepted3/317ms6072 KiB
18Accepted3/321ms6812 KiB
19Accepted3/346ms9952 KiB
20Accepted3/345ms9904 KiB
21Accepted4/445ms9888 KiB
22Accepted4/448ms9652 KiB