Rezultati

Up. imeNalogaJezikRezultatČas oddaje
jelke-2018 Prehitevanje C++ 0/100Prekoračen čas (TLE) 04. okt '18 @ 18:16

Test Točke Porabljen spomin Porabljen čas Status
#1 16/16 3,043 MiB 0,004 s OK
#2 16/16 3,047 MiB 0,010 s OK
#3 17/17 3,047 MiB 0,000 s OK
#4 0/17 3,512 MiB 4,550 s Prekoračen čas
#5 0/17 12,227 MiB 4,508 s Prekoračen čas
#6 17/17 3,039 MiB 0,000 s OK

Ocenjevani program (test.cpp):
#include<iostream>
#include<vector>
#include<queue>

using namespace std;

int main () {
    int n;
    cin >> n;
    vector<string> v;
    for (int i = 0; i < n; ++i) {
        string s;
        cin >> s;
        v.push_back(s);
    }

    /*for (int i = 0; i < n; ++i) {
        cout << v[i] << endl;
    }*/

    int m;
    cin >> m;
    for (int i = 0; i < m; ++i) {
        string prehitevalec, prednjim;
        cin >> prehitevalec >> prednjim;
        int id_1 = -1, id_2 = -1;
        for (int j = 0; j < n; ++j) {
            if (id_1 != -1 && id_2 != -1) {
                break;
            }

            if (prehitevalec == v[j]) {
                id_1 = j;
            }

            if (prednjim == v[j]) {
                id_2 = j;
            }
        }

        //cout << id_1 << " "  << id_2 << " " << prehitevalec << " - " << prednjim << endl; 

        if (id_1 < id_2) {
            id_2--;
        }

        v.erase(v.begin()+id_1);
        v.insert(v.begin()+id_2, prehitevalec);

        /*for (int i = 0; i < n; ++i) {
            cout << v[i] << endl;
        }*/
    }

    for (int i = 0; i < n; ++i) {
        cout << v[i] << endl;
    }


    return 0;
}