9652022-02-06 12:34:06nmarciTitkos sorozatcpp11Hibás válasz 0/4054ms11568 KiB
#include <iostream>
#include <vector>
#include <map>
#include <queue>
#include <string>
#include <set>
#include <algorithm>
#include <list>
using namespace std;
using ll = long long int;

ll inf = 1e9+7;

int main(){
    int n;
    cin >> n;
    vector<int> v(n);
    vector<int> ans(n);
    int ctr = n;
    for(int i = 0; i < n; ++i){
        cin >> v[i];
        if(v[i] == -1){
            ans[i] = ctr--;
        }
    }
    int i = n - 1;
    while(i >= 0){
        if(v[i] != -1){
            int ptr = i;
            while(ptr >= 0 && v[ptr] == v[i]){
                --ptr;
            }
            if(v[ptr] != v[i]) ++ptr;
            while(ptr <= i){
                ans[ptr] = ctr--;
                ++ptr;
            }
        }
        --i;
    }
    for(auto i : ans)
        cout << i << " ";
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/40
1Elfogadva0/02ms1740 KiB
2Hibás válasz0/021ms2776 KiB
3Hibás válasz0/11ms2132 KiB
4Hibás válasz0/11ms2132 KiB
5Hibás válasz0/21ms2140 KiB
6Hibás válasz0/11ms2152 KiB
7Hibás válasz0/11ms2152 KiB
8Hibás válasz0/22ms2156 KiB
9Hibás válasz0/241ms4048 KiB
10Hibás válasz0/243ms4624 KiB
11Hibás válasz0/241ms5200 KiB
12Hibás válasz0/241ms5776 KiB
13Hibás válasz0/241ms6460 KiB
14Hibás válasz0/241ms7080 KiB
15Hibás válasz0/241ms7600 KiB
16Hibás válasz0/341ms8044 KiB
17Hibás válasz0/337ms8316 KiB
18Hibás válasz0/339ms8872 KiB
19Hibás válasz0/354ms9460 KiB
20Hibás válasz0/343ms10044 KiB
21Hibás válasz0/141ms10568 KiB
22Hibás válasz0/139ms11072 KiB
23Hibás válasz0/139ms11568 KiB