| 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) |
