Task: | Aita |
Sender: | |
Submission time: | 2015-07-18 16:38:50 +0300 |
Language: | C++ |
Status: | READY |
Result: | 28 |
group | verdict | score |
---|---|---|
#1 | WRONG ANSWER | 0 |
#2 | ACCEPTED | 28 |
#3 | TIME LIMIT EXCEEDED | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.08 s | 1 | details |
#2 | ACCEPTED | 0.09 s | 1 | details |
#3 | ACCEPTED | 0.09 s | 1 | details |
#4 | ACCEPTED | 0.07 s | 1 | details |
#5 | WRONG ANSWER | 0.09 s | 1 | details |
#6 | ACCEPTED | 0.09 s | 2 | details |
#7 | ACCEPTED | 0.08 s | 2 | details |
#8 | ACCEPTED | 0.09 s | 2 | details |
#9 | ACCEPTED | 0.09 s | 2 | details |
#10 | ACCEPTED | 0.10 s | 2 | details |
#11 | ACCEPTED | 0.10 s | 3 | details |
#12 | ACCEPTED | 0.08 s | 3 | details |
#13 | TIME LIMIT EXCEEDED | -- | 3 | details |
#14 | TIME LIMIT EXCEEDED | -- | 3 | details |
#15 | TIME LIMIT EXCEEDED | -- | 3 | details |
Code
#include <iostream> #include <cmath> #define ll long long #define ull unsigned long long #define pii pair<int, int> #define pll pair<long long, long long> #define defmod 1000000007 using namespace std; int main(){ cin.sync_with_stdio(0); cin.tie(0); ll n, k; cin >> n >> k; ll re[101010]; for(int i = 0; i < n; i++){ re[i+1] = i+1; } for(int i = 1; i <= n; i++){ bool ok = true; if(i == 1){ if(abs(re[i]-re[i+1]) < k) ok = false; } else if(i == n){ if(abs(re[i]-re[i-1]) < k) ok = false; } else{ if(abs(re[i]-re[i+1]) < k) ok = false; if(abs(re[i]-re[i-1]) < k) ok = false; } if(ok) continue; for(int j = n; j >= 1; j--){ if(j == i) continue; bool ok2 = true; swap(re[i], re[j]); if(j < i){ if(i == 1){ if(abs(re[i]-re[i+1]) < k) ok2 = false; } else if(i == n){ if(abs(re[i]-re[i-1]) < k) ok2 = false; } else{ if(abs(re[i]-re[i+1]) < k) ok2 = false; if(abs(re[i]-re[i-1]) < k) ok2 = false; } if(j == 1){ if(abs(re[j]-re[j+1]) < k) ok2 = false; } else if(j == n){ if(abs(re[j]-re[j-1]) < k) ok2 = false; } else{ if(abs(re[j]-re[j+1]) < k) ok2 = false; if(abs(re[j]-re[j-1]) < k) ok2 = false; } } else{ if(i == 1){ if(abs(re[i]-re[i+1]) < k) ok2 = false; } else if(i == n){ if(abs(re[i]-re[i-1]) < k) ok2 = false; } else{ if(abs(re[i]-re[i+1]) < k) ok2 = false; if(abs(re[i]-re[i-1]) < k) ok2 = false; } } if(ok2){ //for(int i = 1; i <= n; i++){ // cout << re[i] << " "; //} //cout << endl << "on ok" << endl; break; } else{ swap(re[j], re[i]); //for(int i = 1; i <= n; i++){ // cout << re[i] << " "; //} //cout << endl << "ei ollut ok" << endl; } } } re[0] = 99999999999LL; re[n+1] = 999999999999LL; for(int i = 1; i <= n; i++){ if(abs(re[i]-re[i+1]) < k || abs(re[i]-re[i-1]) < k){ cout << "QAQ" << endl; return 0; } } for(int i = 1; i <= n; i++){ cout << re[i] << " "; } cout << endl; return 0; }
Test details
Test 1
Group: 1
Verdict: ACCEPTED
input |
---|
2 2 |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 2
Group: 1
Verdict: ACCEPTED
input |
---|
3 2 |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 3
Group: 1
Verdict: ACCEPTED
input |
---|
4 2 |
correct output |
---|
3 1 4 2 |
user output |
---|
3 1 4 2 |
Test 4
Group: 1
Verdict: ACCEPTED
input |
---|
7 4 |
correct output |
---|
QAQ |
user output |
---|
QAQ |
Test 5
Group: 1
Verdict: WRONG ANSWER
input |
---|
8 4 |
correct output |
---|
5 1 6 2 7 3 8 4 |
user output |
---|
QAQ |
Test 6
Group: 2
Verdict: ACCEPTED
input |
---|
80476 2 |
correct output |
---|
40239 1 40240 2 40241 3 40242 ... |
user output |
---|
80476 1 80475 2 4 80474 5 7 3 ... |
Test 7
Group: 2
Verdict: ACCEPTED
input |
---|
68652 2 |
correct output |
---|
34327 1 34328 2 34329 3 34330 ... |
user output |
---|
68652 1 68651 2 4 68650 5 7 3 ... |
Test 8
Group: 2
Verdict: ACCEPTED
input |
---|
62735 2 |
correct output |
---|
31368 1 31369 2 31370 3 31371 ... |
user output |
---|
62735 1 62734 2 4 62733 5 7 3 ... |
Test 9
Group: 2
Verdict: ACCEPTED
input |
---|
71954 2 |
correct output |
---|
35978 1 35979 2 35980 3 35981 ... |
user output |
---|
71954 1 71953 2 4 71952 5 7 3 ... |
Test 10
Group: 2
Verdict: ACCEPTED
input |
---|
4 2 |
correct output |
---|
3 1 4 2 |
user output |
---|
3 1 4 2 |
Test 11
Group: 3
Verdict: ACCEPTED
input |
---|
89814 3 |
correct output |
---|
44908 1 44909 2 44910 3 44911 ... |
user output |
---|
89814 89811 1 89813 3 89812 5 ... |
Test 12
Group: 3
Verdict: ACCEPTED
input |
---|
91140 5 |
correct output |
---|
45571 1 45572 2 45573 3 45574 ... |
user output |
---|
91140 91135 91130 91139 1 9113... |
Test 13
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
66703 16675 |
correct output |
---|
33352 1 33353 2 33354 3 33355 ... |
user output |
---|
(empty) |
Test 14
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
66666 33333 |
correct output |
---|
33334 1 33335 2 33336 3 33337 ... |
user output |
---|
(empty) |
Test 15
Group: 3
Verdict: TIME LIMIT EXCEEDED
input |
---|
66666 33334 |
correct output |
---|
QAQ |
user output |
---|
(empty) |