QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#357453 | #403. Memory2 | KrzychXyz | 100 ✓ | 1ms | 3856kb | C++23 | 2.5kb | 2024-03-18 21:24:00 | 2024-03-18 21:24:00 |
Judging History
answer
#include <bits/stdc++.h>
#include "Memory2_lib.h"
using namespace std;
void Solve(int T, int N) {
pair <int,int> wartosci[2*N + 2];
int i = 0;
int j = 1;
int k = 2;
int ans1 = 0;
int ans2 = 0;
int carryover = Flip(i,j);
for(;k < 2*N; k++) {
ans1 = Flip(i,k);
ans2 = Flip(j,k);
if(ans1 == ans2 && ans1 == carryover) {
//cout << k << "\n";
int kbis = k;
k++;
for(;k < 2*N;k++) {
ans1 = Flip(i,k);
ans2 = Flip(j,k);
//cout << ans1 << " " << ans2 << '\n';
if(ans1 == carryover && ans2 != carryover) {
wartosci[i] = {ans1,i};
i=j;
j=kbis;
break;
}
else if(ans2 == carryover && ans1 != carryover) {
wartosci[j] = {ans2,j};
j=kbis;
break;
}
else if(ans1 == ans2 && carryover != ans1){
wartosci[k] = {ans1,k};
}
else {
//cout <<k << "\n";
wartosci[i] = {carryover,i};
wartosci[j] = {carryover,j};
i = kbis;
j = k;
//carryover = Flip(i,j);
ans1 = -1;
ans2 = -2;
k++;
break;
}
}
carryover = Flip(i,j);
if(k < 2*N) {
ans1 = Flip(i,k);
ans2 = Flip(j,k);
}
}
if(k==2*N) break;
if(ans1 == carryover && ans2 != carryover) {
wartosci[i] = {ans1,i};
carryover = ans2;
i=j;
j=k;
}
else if(ans2 == carryover && ans1 != carryover) {
wartosci[j] = {ans2,j};
carryover = ans1;
j=k;
}
else if(ans1 == ans2 && carryover != ans1){
wartosci[k] = {ans1,k};
}
}
wartosci[i] = {carryover, i};
wartosci[j] = {carryover, j};
/*for(int i = 0; i < 2*N; i++) {
cout << wartosci[i].first << " " << wartosci[i].second << "\n";
}*/
sort(wartosci, wartosci+2*N);
for(int i = 0 ; i < 2*N; i+=2) {
//cout << i << "\n";
Answer(wartosci[i].second, wartosci[i+1].second, wartosci[i].first);
}
}
Details
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 1ms
memory: 3732kb
Test #2:
score: 0
Accepted
time: 1ms
memory: 3848kb
Test #3:
score: 0
Accepted
time: 0ms
memory: 3848kb
Test #4:
score: 0
Accepted
time: 0ms
memory: 3776kb
Test #5:
score: 0
Accepted
time: 0ms
memory: 3784kb
Test #6:
score: 0
Accepted
time: 1ms
memory: 3808kb
Test #7:
score: 0
Accepted
time: 1ms
memory: 3808kb
Test #8:
score: 0
Accepted
time: 0ms
memory: 3768kb
Subtask #2:
score: 50
Accepted
Test #9:
score: 50
Accepted
time: 1ms
memory: 3724kb
Test #10:
score: 0
Accepted
time: 0ms
memory: 3800kb
Test #11:
score: 0
Accepted
time: 0ms
memory: 3736kb
Test #12:
score: 0
Accepted
time: 0ms
memory: 3848kb
Test #13:
score: 0
Accepted
time: 0ms
memory: 3716kb
Test #14:
score: 0
Accepted
time: 0ms
memory: 3828kb
Test #15:
score: 0
Accepted
time: 0ms
memory: 3828kb
Test #16:
score: 0
Accepted
time: 0ms
memory: 3824kb
Test #17:
score: 0
Accepted
time: 0ms
memory: 3856kb
Test #18:
score: 0
Accepted
time: 0ms
memory: 3848kb
Subtask #3:
score: 40
Accepted
Test #19:
score: 40
Accepted
time: 0ms
memory: 3816kb
Test #20:
score: 0
Accepted
time: 0ms
memory: 3736kb
Test #21:
score: 0
Accepted
time: 0ms
memory: 3848kb
Test #22:
score: 0
Accepted
time: 0ms
memory: 3772kb
Test #23:
score: 0
Accepted
time: 0ms
memory: 3800kb
Test #24:
score: 0
Accepted
time: 1ms
memory: 3776kb
Test #25:
score: 0
Accepted
time: 1ms
memory: 3852kb
Test #26:
score: 0
Accepted
time: 0ms
memory: 3740kb
Test #27:
score: 0
Accepted
time: 1ms
memory: 3808kb
Test #28:
score: 0
Accepted
time: 1ms
memory: 3856kb
Extra Test:
score: 0
Extra Test Passed