Task: | Kirjat |
Sender: | hello_world |
Submission time: | 2015-09-30 23:15:45 +0300 |
Language: | C++ |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | WRONG ANSWER | 0 |
#3 | WRONG ANSWER | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.06 s | 1 | details |
#2 | ACCEPTED | 0.05 s | 1 | details |
#3 | ACCEPTED | 0.06 s | 1 | details |
#4 | WRONG ANSWER | 0.06 s | 1 | details |
#5 | ACCEPTED | 0.06 s | 1 | details |
#6 | WRONG ANSWER | 0.06 s | 1 | details |
#7 | ACCEPTED | 0.06 s | 1 | details |
#8 | WRONG ANSWER | 0.06 s | 1 | details |
#9 | WRONG ANSWER | 0.05 s | 1 | details |
#10 | ACCEPTED | 0.05 s | 1 | details |
#11 | ACCEPTED | 0.05 s | 1 | details |
#12 | ACCEPTED | 0.06 s | 1 | details |
#13 | ACCEPTED | 0.06 s | 1 | details |
#14 | ACCEPTED | 0.05 s | 1 | details |
#15 | ACCEPTED | 0.06 s | 1 | details |
#16 | ACCEPTED | 0.05 s | 1 | details |
#17 | ACCEPTED | 0.06 s | 1 | details |
#18 | ACCEPTED | 0.06 s | 1 | details |
#19 | ACCEPTED | 0.06 s | 1 | details |
#20 | WRONG ANSWER | 0.06 s | 1 | details |
#21 | ACCEPTED | 0.05 s | 2 | details |
#22 | WRONG ANSWER | 0.06 s | 2 | details |
#23 | WRONG ANSWER | 0.07 s | 2 | details |
#24 | WRONG ANSWER | 0.06 s | 2 | details |
#25 | ACCEPTED | 0.05 s | 2 | details |
#26 | ACCEPTED | 0.06 s | 2 | details |
#27 | ACCEPTED | 0.05 s | 2 | details |
#28 | WRONG ANSWER | 0.05 s | 2 | details |
#29 | ACCEPTED | 0.06 s | 2 | details |
#30 | ACCEPTED | 0.05 s | 2 | details |
#31 | WRONG ANSWER | 0.06 s | 2 | details |
#32 | ACCEPTED | 0.06 s | 2 | details |
#33 | ACCEPTED | 0.07 s | 2 | details |
#34 | WRONG ANSWER | 0.07 s | 2 | details |
#35 | ACCEPTED | 0.06 s | 2 | details |
#36 | ACCEPTED | 0.06 s | 2 | details |
#37 | ACCEPTED | 0.04 s | 2 | details |
#38 | ACCEPTED | 0.05 s | 2 | details |
#39 | ACCEPTED | 0.05 s | 2 | details |
#40 | ACCEPTED | 0.05 s | 2 | details |
#41 | ACCEPTED | 0.06 s | 3 | details |
#42 | ACCEPTED | 0.05 s | 3 | details |
#43 | ACCEPTED | 0.05 s | 3 | details |
#44 | WRONG ANSWER | 0.05 s | 3 | details |
#45 | WRONG ANSWER | 0.06 s | 3 | details |
#46 | ACCEPTED | 0.06 s | 3 | details |
#47 | WRONG ANSWER | 0.05 s | 3 | details |
#48 | ACCEPTED | 0.05 s | 3 | details |
#49 | WRONG ANSWER | 0.06 s | 3 | details |
#50 | ACCEPTED | 0.06 s | 3 | details |
#51 | ACCEPTED | 0.06 s | 3 | details |
#52 | WRONG ANSWER | 0.05 s | 3 | details |
#53 | WRONG ANSWER | 0.05 s | 3 | details |
#54 | WRONG ANSWER | 0.06 s | 3 | details |
#55 | ACCEPTED | 0.06 s | 3 | details |
#56 | ACCEPTED | 0.11 s | 3 | details |
#57 | ACCEPTED | 0.11 s | 3 | details |
#58 | ACCEPTED | 0.14 s | 3 | details |
#59 | ACCEPTED | 0.12 s | 3 | details |
#60 | ACCEPTED | 0.12 s | 3 | details |
Code
#include <stdio.h> #include <iostream> #include <string> #include <string.h> #include <stdlib.h> using namespace std; struct List{ unsigned int x; List *next; List *last; }; void freeMemory(List *list); void printMemory(List *list); int main(void){ List *a, *b; a = NULL; b = NULL; List *ap, *bp; unsigned int count; cin >> count; unsigned int c = count; a = (struct List *)malloc(sizeof(struct List)); a->last = NULL; a->next = NULL; ap = a; while(c--){ cin >> ap->x; //cout << c << " : " << ap->x << endl; if (c){ ap->next = (struct List *)malloc(sizeof(struct List)); (ap->next)->last = ap; (ap->next)->next = NULL; ap = ap->next; } } //kaikki a:n alkiot on lisätty //alkiot voivat olla järjestyneet siten, että viimeisenä on suurin, näin ei saa olla //toiseksi viimeinen luku ei saa olla suurin tai toiseksi suurin //luku voi olla joko a:ssa, tai syötettävässä merkkijonossa, jolle tehdään interaktiivinen tutkiskelu //säästetäänkö jostain luku, vai mitä tehdään??? //joudutaan säästämään kaksi lukua, joista kumpikaan ei ole sama kuin ap->x c = count; unsigned int x2; //b-lukujono unsigned int m[2] = {0, 0}; //memory, size 2, voidaan käyttää lukua 0 tyhjänä, täytetään indeksistä nolla eteenpäin unsigned int cur = 1; //menneillään oleva luku, jota halutaan kokeilla laittaa uuteen lukujonoon b = (struct List *)malloc(sizeof(struct List)); //tarkalleen ottaen c, sillä b on vain välikappale b->last = NULL; b->next = NULL; bp = b; List *x1 = a; //aloitetaan lista a alusta, säilytetään ap kuitenkin, nimetään uusi pointer x1 while(c--){ cin >> x2; //otetaan muistista 0:sta jos mahdollista, jos ei otetaan 1:stä jos mahdollista //muutoin nostetaan cur:ia yhdellä: //jos se voidaan laittaa, laitetaan se //jos sitä ei voida laittaa, lisätään muistiin, jos muisti 0 on käytetty lisätään paikalle 1, muutoin paikalle nolla if (m[0]) { //m[0] on aina pienempi kuin m[1] if (m[0] != x2 && m[0] != x1->x){ //mem 0 voidaanko käyttää, tarkistetaan tämä ensin, sillä tämä on pienempi kuin m1 bp->x = m[0]; //cout << "yea1"; if (m[1]) { m[0] = m[1]; //m[1] on nyt väkistenkin pienin m[1] = 0;//cur; //joten vaihdetaan se m[0]:n tilalle ja tallennetaan uusi cur m[1]:seen } else m[0] = 0; } else if (m[1] && (m[1] != x2 && m[1] != x1->x)) { //mem 1 voidaanko käyttää bp->x = m[1]; //cout << "yea2(" << m[1] << " " << x2 << " " << x1->x << ")"; m[1] = 0;//cur; //m[0] pysyy edelleen pienimpänä, vaihdetaan cur m[1]:sen tilalle //verrataan cur:ia m[0]:aan ja m[1:seen] } //nyt muistissa on joko m[0] tai m[0] ja m[1], sillä cur:ia ei voitu käyttää ja se vaihdettiin toisen m:n tilalle else { //muistia ei voitu käyttää, siirrytään valintaan(goto) //cur++; //cout << "goto"; goto valinta; } //cout << "yea"; //cout << "muistiin" << cur << " "; } else { //jos muistissa ei ole lukuja, voidaanko cur käyttää valinta: while(cur == x2 || cur == x1->x) { //cur:ia ei voida laittaa, laitetaan se muistiin, sillä muisti on tyhjä if (!m[0]) m[0] = cur; //jos nollapaikkaa ei ole täytetty täytetään se else m[1] = cur; //muutoin täytetään paikka 1 cur++; //aina lisätään väh.1 kun tullaan tänne, jotta voidaan tarkistaa mem uudelleen(m) } //nyt voitaisiin laittaa, nyt voidaan laittaa, muistista ei voida edelleenkään laittaa, joten laitetaan cur bp->x = cur; cur++; //cout << "valitaan" << cur << " "; } //cout << bp->x; if (c){ bp->next = (struct List *)malloc(sizeof(struct List)); (bp->next)->last = bp; (bp->next)->next = NULL; bp = bp->next; } x1 = x1->next; } //cout << "asdf"; printMemory(b); freeMemory(bp); freeMemory(ap); return 0; } void printMemory(List *list){ while (list->next != NULL){ cout << list->x << " "; list = list->next; } cout << list->x << " "; } void freeMemory(List *list){ /*while (list->next != NULL){ list = list->next; }*/ List *l; do { l = list; list = list->last; free(l); } while(list->last != NULL); }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
3 2 1 3 3 2 1 |
correct output |
---|
1 3 2 |
user output |
---|
1 3 2 |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
4 2 1 4 3 1 4 3 2 |
correct output |
---|
4 3 2 1 |
user output |
---|
3 2 1 4 |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
4 4 3 2 1 3 1 4 2 |
correct output |
---|
1 2 3 4 |
user output |
---|
1 2 3 4 |
Test 4
Group: 1
Verdict: WRONG ANSWER
input |
---|
4 3 4 2 1 2 3 1 4 |
correct output |
---|
1 2 4 3 |
user output |
---|
1 2 3 5 |
Test 5
Group: 1
Verdict: ACCEPTED
input |
---|
4 4 1 3 2 2 3 1 4 |
correct output |
---|
1 4 2 3 |
user output |
---|
1 2 4 3 |
Test 6
Group: 1
Verdict: WRONG ANSWER
input |
---|
5 5 1 3 2 4 3 4 2 1 5 |
correct output |
---|
2 3 4 5 1 |
user output |
---|
1 2 4 3 6 |
Test 7
Group: 1
Verdict: ACCEPTED
input |
---|
5 4 2 3 5 1 3 5 2 1 4 |
correct output |
---|
1 4 5 2 3 |
user output |
---|
1 3 4 2 5 |
Test 8
Group: 1
Verdict: WRONG ANSWER
input |
---|
5 1 4 3 2 5 4 3 1 5 2 |
correct output |
---|
3 2 5 1 4 |
user output |
---|
2 1 4 3 6 |
Test 9
Group: 1
Verdict: WRONG ANSWER
input |
---|
5 5 3 2 1 4 4 2 1 3 5 |
correct output |
---|
1 4 5 2 3 |
user output |
---|
1 4 3 2 6 |
Test 10
Group: 1
Verdict: ACCEPTED
input |
---|
5 4 3 5 1 2 5 1 3 2 4 |
correct output |
---|
2 5 1 4 3 |
user output |
---|
1 2 4 3 5 |
Test 11
Group: 1
Verdict: ACCEPTED
input |
---|
5 5 1 3 2 4 2 5 4 3 1 |
correct output |
---|
3 4 2 1 5 |
user output |
---|
1 2 5 4 3 |
Test 12
Group: 1
Verdict: ACCEPTED
input |
---|
5 5 4 2 1 3 2 3 5 4 1 |
correct output |
---|
3 1 4 5 2 |
user output |
---|
1 2 3 5 4 |
Test 13
Group: 1
Verdict: ACCEPTED
input |
---|
5 1 5 2 4 3 5 1 4 3 2 |
correct output |
---|
3 2 5 1 4 |
user output |
---|
2 3 1 5 4 |
Test 14
Group: 1
Verdict: ACCEPTED
input |
---|
5 5 3 4 2 1 3 5 2 1 4 |
correct output |
---|
1 2 3 4 5 |
user output |
---|
1 2 3 4 5 |
Test 15
Group: 1
Verdict: ACCEPTED
input |
---|
5 4 5 3 2 1 3 2 1 4 5 |
correct output |
---|
5 3 2 1 4 |
user output |
---|
1 3 2 5 4 |
Test 16
Group: 1
Verdict: ACCEPTED
input |
---|
10 4 9 1 10 6 8 7 2 3 5 8 5 7 3 1 6 4 10 2 9 |
correct output |
---|
3 1 9 2 4 7 8 6 5 10 |
user output |
---|
1 2 3 4 5 7 6 8 9 10 |
Test 17
Group: 1
Verdict: ACCEPTED
input |
---|
10 6 10 8 2 3 5 7 1 4 9 4 1 2 10 5 6 9 3 8 7 |
correct output |
---|
5 7 1 3 9 2 4 10 6 8 |
user output |
---|
1 2 3 4 6 7 5 8 9 10 |
Test 18
Group: 1
Verdict: ACCEPTED
input |
---|
10 8 2 9 10 1 6 4 7 3 5 3 8 4 5 6 7 9 10 1 2 |
correct output |
---|
1 6 8 9 5 4 10 3 2 7 |
user output |
---|
1 3 2 4 5 8 6 9 7 10 |
Test 19
Group: 1
Verdict: ACCEPTED
input |
---|
10 6 3 8 9 5 7 4 10 1 2 8 9 10 1 3 6 2 7 4 5 |
correct output |
---|
5 1 6 2 8 10 7 3 9 4 |
user output |
---|
1 2 3 4 6 5 7 8 9 10 |
Test 20
Group: 1
Verdict: WRONG ANSWER
input |
---|
10 8 3 5 6 2 10 4 7 1 9 4 7 8 10 5 2 6 1 9 3 |
correct output |
---|
1 5 7 3 10 6 9 4 2 8 |
user output |
---|
1 2 3 4 6 5 7 8 10 11 |
Test 21
Group: 2
Verdict: ACCEPTED
input |
---|
3 3 2 1 1 3 2 |
correct output |
---|
2 1 3 |
user output |
---|
2 1 3 |
Test 22
Group: 2
Verdict: WRONG ANSWER
input |
---|
4 2 3 1 4 1 4 3 2 |
correct output |
---|
3 2 4 1 |
user output |
---|
3 1 2 5 |
Test 23
Group: 2
Verdict: WRONG ANSWER
input |
---|
4 2 4 3 1 4 1 2 3 |
correct output |
---|
3 2 1 4 |
user output |
---|
1 2 4 5 |
Test 24
Group: 2
Verdict: WRONG ANSWER
input |
---|
4 4 1 2 3 1 3 4 2 |
correct output |
---|
3 2 1 4 |
user output |
---|
2 4 1 5 |
Test 25
Group: 2
Verdict: ACCEPTED
input |
---|
4 2 1 3 4 4 3 2 1 |
correct output |
---|
3 4 1 2 |
user output |
---|
1 2 4 3 |
Test 26
Group: 2
Verdict: ACCEPTED
input |
---|
5 2 5 3 1 4 4 2 1 5 3 |
correct output |
---|
5 4 2 3 1 |
user output |
---|
1 3 2 4 5 |
Test 27
Group: 2
Verdict: ACCEPTED
input |
---|
5 1 4 3 2 5 5 2 4 1 3 |
correct output |
---|
4 5 2 3 1 |
user output |
---|
2 1 5 3 4 |
Test 28
Group: 2
Verdict: WRONG ANSWER
input |
---|
5 1 4 2 3 5 2 3 1 5 4 |
correct output |
---|
4 5 3 1 2 |
user output |
---|
3 1 4 2 6 |
Test 29
Group: 2
Verdict: ACCEPTED
input |
---|
5 4 5 2 3 1 5 3 1 2 4 |
correct output |
---|
1 2 3 4 5 |
user output |
---|
1 2 3 4 5 |
Test 30
Group: 2
Verdict: ACCEPTED
input |
---|
5 3 2 1 5 4 5 4 3 1 2 |
correct output |
---|
4 5 2 3 1 |
user output |
---|
1 3 2 4 5 |
Test 31
Group: 2
Verdict: WRONG ANSWER
input |
---|
5 5 3 1 2 4 3 2 4 1 5 |
correct output |
---|
4 5 2 3 1 |
user output |
---|
1 4 2 3 6 |
Test 32
Group: 2
Verdict: ACCEPTED
input |
---|
5 5 4 1 2 3 1 5 3 4 2 |
correct output |
---|
2 3 4 5 1 |
user output |
---|
2 1 4 3 5 |
Test 33
Group: 2
Verdict: ACCEPTED
input |
---|
5 1 4 5 3 2 3 5 2 4 1 |
correct output |
---|
5 1 3 2 4 |
user output |
---|
2 1 3 5 4 |
Test 34
Group: 2
Verdict: WRONG ANSWER
input |
---|
5 3 4 2 1 5 1 5 3 4 2 |
correct output |
---|
2 3 4 5 1 |
user output |
---|
2 1 4 3 6 |
Test 35
Group: 2
Verdict: ACCEPTED
input |
---|
5 2 3 1 5 4 5 4 2 1 3 |
correct output |
---|
1 2 3 4 5 |
user output |
---|
1 2 3 4 5 |
Test 36
Group: 2
Verdict: ACCEPTED
input |
---|
1000 63 72 78 267 740 551 517 698 6... |
correct output |
---|
26 926 267 321 385 444 968 690... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 37
Group: 2
Verdict: ACCEPTED
input |
---|
1000 954 273 839 263 331 161 938 51... |
correct output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 38
Group: 2
Verdict: ACCEPTED
input |
---|
1000 740 142 781 837 759 392 582 14... |
correct output |
---|
111 291 702 70 561 469 707 897... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 39
Group: 2
Verdict: ACCEPTED
input |
---|
1000 960 550 210 529 691 277 63 975... |
correct output |
---|
716 604 535 519 27 204 574 592... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 40
Group: 2
Verdict: ACCEPTED
input |
---|
1000 371 772 197 202 504 931 4 46 6... |
correct output |
---|
26 926 267 321 385 444 968 690... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 41
Group: 3
Verdict: ACCEPTED
input |
---|
3 1 2 3 3 1 2 |
correct output |
---|
2 3 1 |
user output |
---|
2 3 1 |
Test 42
Group: 3
Verdict: ACCEPTED
input |
---|
4 4 2 3 1 2 3 1 4 |
correct output |
---|
1 4 2 3 |
user output |
---|
1 4 2 3 |
Test 43
Group: 3
Verdict: ACCEPTED
input |
---|
4 2 1 4 3 4 3 1 2 |
correct output |
---|
1 2 3 4 |
user output |
---|
1 2 3 4 |
Test 44
Group: 3
Verdict: WRONG ANSWER
input |
---|
4 1 4 2 3 2 3 4 1 |
correct output |
---|
3 2 1 4 |
user output |
---|
3 1 5 2 |
Test 45
Group: 3
Verdict: WRONG ANSWER
input |
---|
4 2 1 4 3 1 3 2 4 |
correct output |
---|
4 2 3 1 |
user output |
---|
3 2 1 5 |
Test 46
Group: 3
Verdict: ACCEPTED
input |
---|
5 3 1 5 2 4 5 4 2 1 3 |
correct output |
---|
1 2 3 4 5 |
user output |
---|
1 2 3 4 5 |
Test 47
Group: 3
Verdict: WRONG ANSWER
input |
---|
5 2 1 5 3 4 5 3 2 4 1 |
correct output |
---|
4 5 3 1 2 |
user output |
---|
1 2 3 5 6 |
Test 48
Group: 3
Verdict: ACCEPTED
input |
---|
5 5 1 4 3 2 3 5 1 2 4 |
correct output |
---|
1 2 3 4 5 |
user output |
---|
1 2 3 4 5 |
Test 49
Group: 3
Verdict: WRONG ANSWER
input |
---|
5 2 4 1 3 5 3 5 4 1 2 |
correct output |
---|
5 1 3 2 4 |
user output |
---|
1 2 3 4 6 |
Test 50
Group: 3
Verdict: ACCEPTED
input |
---|
5 5 2 3 4 1 2 1 4 3 5 |
correct output |
---|
1 4 5 2 3 |
user output |
---|
1 3 2 5 4 |
Test 51
Group: 3
Verdict: ACCEPTED
input |
---|
5 4 1 5 3 2 2 4 1 5 3 |
correct output |
---|
1 2 3 4 5 |
user output |
---|
1 2 3 4 5 |
Test 52
Group: 3
Verdict: WRONG ANSWER
input |
---|
5 3 1 5 2 4 1 4 2 3 5 |
correct output |
---|
5 2 1 4 3 |
user output |
---|
2 3 1 4 6 |
Test 53
Group: 3
Verdict: WRONG ANSWER
input |
---|
5 1 4 5 3 2 4 2 3 5 1 |
correct output |
---|
5 3 2 1 4 |
user output |
---|
2 1 4 6 3 |
Test 54
Group: 3
Verdict: WRONG ANSWER
input |
---|
5 1 4 5 2 3 4 2 3 1 5 |
correct output |
---|
2 3 4 5 1 |
user output |
---|
2 1 4 3 6 |
Test 55
Group: 3
Verdict: ACCEPTED
input |
---|
5 4 5 3 2 1 5 3 4 1 2 |
correct output |
---|
1 2 5 3 4 |
user output |
---|
1 2 5 3 4 |
Test 56
Group: 3
Verdict: ACCEPTED
input |
---|
100000 74620 99226 537 63830 13777 69... |
correct output |
---|
44158 25720 84658 90057 99607 ... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 57
Group: 3
Verdict: ACCEPTED
input |
---|
100000 67665 19864 90761 58104 38796 ... |
correct output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 58
Group: 3
Verdict: ACCEPTED
input |
---|
100000 63021 24161 40379 69157 89616 ... |
correct output |
---|
4913 70683 13897 99969 66725 3... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 59
Group: 3
Verdict: ACCEPTED
input |
---|
100000 31500 70052 90949 56812 73871 ... |
correct output |
---|
47064 17335 15460 80797 56435 ... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |
Test 60
Group: 3
Verdict: ACCEPTED
input |
---|
100000 39127 4446 57817 67459 53741 8... |
correct output |
---|
96591 75698 82505 59416 72144 ... |
user output |
---|
1 2 3 4 5 6 7 8 9 10 11 12 13 ... |