Rezultati

Up. imeNalogaJezikRezultatČas oddaje
marko Priprava naloge C++ 0/100Napačen odgovor (WA) 19. apr '18 @ 17:43

Test Točke Porabljen spomin Porabljen čas Status
#1 0/11 4,938 MiB 0,265 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom<<<EOF>>>
Pravilen izhod:
​47120013852231
<<<EOF>>>
#2 0/11 4,934 MiB 0,204 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom<<<EOF>>>
Pravilen izhod:
​46934781048360
<<<EOF>>>
#3 0/11 4,938 MiB 0,185 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom<<<EOF>>>
Pravilen izhod:
​47218273002750
<<<EOF>>>
#4 0/11 7,512 MiB 0,240 s Napačen odgovor
Tvoj izhod:
​1743003467<<<EOF>>>
Pravilen izhod:
​47098206909139
<<<EOF>>>
#5 0/11 7,363 MiB 1,936 s Napačen odgovor
Tvoj izhod:
​-421048150<<<EOF>>>
Pravilen izhod:
​44833673137276
<<<EOF>>>
#6 0/11 4,977 MiB 0,176 s Napačen odgovor
Tvoj izhod:
​Tekma bo polom<<<EOF>>>
Pravilen izhod:
​38422565125413
<<<EOF>>>
#7 11/11 3,117 MiB 0,000 s OK
#8 11/11 4,980 MiB 1,298 s OK
#9 12/12 2,988 MiB 0,004 s OK

Ocenjevani program (main.cpp):
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct vaja
{
    int t, c, prvi = 0, zadnji = 0;
};

bool compare(vaja prvi, vaja drugi)
{
    if(prvi.c != drugi.c)
        return prvi.c < drugi.c;
    else
        return prvi.t < drugi.t;
}

int main()
{
    int n, k;
    cin >> k;
    cin >> n;
    int st = 0;
    vector<vaja> tabela, sortirana;
    int temp;
    int pomebnost = 0;
    vaja structVaja;
    for(int i = 0; i < n; i++)
    {
        cin >> structVaja.t;
        cin >> structVaja.c;
        pomebnost += structVaja.c;
        st += structVaja.t;
        tabela.push_back(structVaja);
    }
    if(st < k)
    {
        cout << "Tekma bo polom";
        return 0;
    }
    for(int i = 0; i < n; i++)
    {
        st = 0;
        structVaja.t = 0;
        structVaja.c = 0;
        structVaja.prvi = i;
        int j;
        for(j = 0; structVaja.t < k && (j + i) < n; j++){
            structVaja.t += tabela[i+j].t;
            structVaja.c += tabela[i+j].c;
            //st += tabela[i+j].t;
        }
        structVaja.zadnji = i + j - 1;
        if(structVaja.t < k)
            break;
        sortirana.push_back(structVaja);
    }
   /* for(int i = 0; i < n; i++)
    {
        cout << sortirana[i].t << " " << sortirana[i].c << " " << sortirana[i].prvi << " " << sortirana[i].zadnji << endl;
    }*/
    //cout << "...............";
    stable_sort(sortirana.begin(), sortirana.end(), compare);
    st = 0;
    for(int i = sortirana[0].prvi; i <= sortirana[0].zadnji; i++){
        pomebnost -= tabela[i].c;
    }
   /* for(int i = 0; i < n; i++)
    {
        cout << sortirana[i].t << " " << sortirana[i].c << " " << sortirana[i].prvi << " " << sortirana[i].zadnji << endl;
    }*/
    cout << pomebnost;
    return 0;
}