Rezultati

Up. imeNalogaJezikRezultatČas oddaje
marko Podnapisi C++ 100/100OK 10. maj '18 @ 19:49

Test Točke Porabljen spomin Porabljen čas Status
#1 7/7 3,211 MiB 0,000 s OK
#2 7/7 3,250 MiB 0,000 s OK
#3 7/7 3,246 MiB 0,003 s OK
#4 7/7 3,934 MiB 0,000 s OK
#5 7/7 3,051 MiB 0,003 s OK
#6 7/7 3,242 MiB 0,004 s OK
#7 7/7 3,246 MiB 0,000 s OK
#8 7/7 3,051 MiB 0,003 s OK
#9 7/7 3,051 MiB 0,003 s OK
#10 7/7 3,574 MiB 0,000 s OK
#11 7/7 3,051 MiB 0,003 s OK
#12 7/7 3,215 MiB 0,000 s OK
#13 8/8 3,246 MiB 0,000 s OK
#14 8/8 3,047 MiB 0,003 s OK

Ocenjevani program (main.cpp):
//
//  main.cpp
//  tekmovanjue
//
//  Created by Jani Kaukler on 10/05/2018.
//  Copyright � 2018 Jani. All rights reserved.
//

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;

struct cas
{
    int ura,minuta,sekunda,milisekunda;
};

//[]
//}{}{
//()
//''

cas dodaj(cas prvi, cas dodaj);
cas pretvoriVCas(string vrstica,int n);
string pretvoriVString(cas cajt);
int main(int argc, const char * argv[])
{


    //cout<<"pa zacnimo!"<<endl;
    cas premik,prvi,drugi,prvi2,drugi2;
    vector<string> vektor;
    string vrstica,temp="";
    int stznaka=0;
    int st=1;
    bool najdo=false;
    bool temp2=true;
    getline(cin,vrstica);
    while(!najdo)
    {
        if(vrstica[stznaka]==' ')
            najdo=true;
        stznaka++;
    }
    premik=pretvoriVCas(vrstica, stznaka);
    while(getline(cin,vrstica))
    {
        switch (st)
        {
        case 1:
            //cout<<"stevilka!";
            vektor.push_back(vrstica);
            st++;
            break;
        case 2:
            //cout<<"cas!"<<endl;
            //cout<<"aaaaaaaaaaaa"<<pretvoriVString(pretvoriVCas(vrstica, 0))<<endl;
            prvi=pretvoriVCas(vrstica,0);
            drugi=pretvoriVCas(vrstica, 17);
            prvi2=dodaj(prvi,premik);
            drugi2=dodaj(drugi,premik);
            temp=pretvoriVString(prvi2)+" --> "+pretvoriVString(drugi2);
            vektor.push_back(temp);
            //cout<<vrstica<<endl;
            st++;
            break;
        case 3:
            //cout<<"besedilo!"<<endl;
            vektor.push_back(vrstica);
            if(vrstica=="")
                st=1;
            break;
        }
    }
    for(int i=0; i<vektor.size(); i++)
    {
        //cout<<"aa"<<endl;
        cout<<vektor[i];
        if(i != vektor.size() - 1)
            cout<<endl;
    }
    /*
    cas test;
    test.ura=1;
    test.minuta=34;
    test.sekunda=0;
    test.milisekunda=0;
    cas test2=dodaj(test,test);
    cout<<pretvoriVString(test2);
    string aura="00:28:02,772 --> 00:28:05,855";
    cas test=pretvoriVCas(aura, 3);
    cout<<pretvoriVString(test);*/
    return 0;
}
cas dodaj(cas prvi, cas dodaj)
{
    if(prvi.milisekunda+dodaj.milisekunda>=1000)
    {
        prvi.milisekunda+=dodaj.milisekunda-1000;
        prvi.sekunda++;
    }
    else
        prvi.milisekunda+=dodaj.milisekunda;
    if(prvi.sekunda+dodaj.sekunda>=60)
    {
        prvi.sekunda+=dodaj.sekunda-60;
        prvi.minuta++;
    }
    else
        prvi.sekunda+=dodaj.sekunda;
    if(prvi.minuta+dodaj.minuta>=60)
    {
        prvi.minuta+=dodaj.minuta-60;
        prvi.ura++;
    }
    else
        prvi.minuta+=dodaj.minuta;
    prvi.ura+=dodaj.ura;
    return prvi;
}
cas pretvoriVCas(string vrstica,int n)
{
    string urast="",minutast="",sekundast="",milisekundast="";
    if(n>0)
        vrstica.erase(0,n);
    //cout<<vrstica<<endl;
    cas temp;
    for(int i=0; i<12; i++)
    {
        if((i==0)||(i==1))
        {
            urast+=vrstica[i];
        }
        if((i==3)||(i==4))
        {
            minutast+=vrstica[i];
        }
        if((i==6)||(i==7))
        {
            sekundast+=vrstica[i];
        }
        if((i==9)||(i==10)||(i==11))
        {
            milisekundast+=vrstica[i];
        }
    }

    stringstream ssura(urast);
    ssura>>temp.ura;
    stringstream ssminuta(minutast);
    ssminuta>>temp.minuta;
    stringstream sssekunda(sekundast);
    sssekunda>>temp.sekunda;
    stringstream ssmilisekunda(milisekundast);
    ssmilisekunda>>temp.milisekunda;
    //cout<<endl<<"milisekundast je "<<milisekundast<<" temp.milisekunda je "<<temp.milisekunda<<endl;
    return temp;
}
string pretvoriVString(cas cajt)
{
    string vrni;
    stringstream ss;
    ss<<cajt.ura;
    if(cajt.ura<10)
        vrni+="0";
    vrni+=ss.str();
    ss.str("");
    ss<<cajt.minuta;
    vrni+=":";
    if(cajt.minuta<10)
        vrni+="0";
    vrni+=ss.str();
    ss.str("");
    ss<<cajt.sekunda;
    vrni+=":";
    if(cajt.sekunda<10)
        vrni+="0";
    vrni+=ss.str();
    vrni+=",";
    ss.str("");
    ss<<cajt.milisekunda;
    if(cajt.milisekunda<100)
        vrni+="0";
    if(cajt.milisekunda<10)
        vrni+="0";
    vrni+=ss.str();
    return vrni;

}

/*
SHIFT: 00:00:01,000
1
00:00:00,005 --> 00:00:01,047
Three, two, one, go.

2
00:00:01,047 --> 00:00:02,296
A... A new internet.

559
00:28:02,772 --> 00:28:05,855
This is awesome. Gavin is
essentially doubling-down

560
00:28:05,855 --> 00:28:07,855
on the very thing
we are destroying.
sss
 */