Submission #20141653
Source Code Expand
#include <atcoder/all>
using namespace atcoder;
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const double pi = 3.14159265359;
const ll INF = 1LL << 60;
int main()
{
int n;
cin >> n;
vector<ll> a(n);
ll maxa = -10000000;
ll mina = 10000000;
int imax = -1, imin = -1;
for (int i = 0; i < n; i++){
cin >> a[i];
if (a[i] > maxa){
maxa = a[i];
imax = i;
}
if (a[i] < mina){
mina = a[i];
imin = i;
}
}
vector<pair<int, int>> ans;
bool allPositive = true;
if (mina >= 0){
allPositive = true;
} else if (maxa <= 0){
allPositive = false;
} else {
if (abs(maxa) >= abs(mina)){
allPositive = true;
for (int i = 0; i < n; i++){
ans.push_back(make_pair(imax+1, i+1));
}
} else {
allPositive = false;
for (int i = 0; i < n; i++){
ans.push_back(make_pair(imin+1, i+1));
}
}
}
if (allPositive){
for (int i = 1; i < n; i++)
ans.push_back(make_pair(i, i+1));
} else {
for (int i = n; i > 1; i--)
ans.push_back(make_pair(i, i-1));
}
cout << ans.size() << endl;
for (auto p : ans){
cout << p.first << " " << p.second << endl;
}
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | D - Non-decreasing |
| User | unnohideyuki |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1283 Byte |
| Status | AC |
| Exec Time | 8 ms |
| Memory | 3672 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt |
| All | 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_example_01.txt | AC | 8 ms | 3564 KiB |
| 00_example_02.txt | AC | 2 ms | 3664 KiB |
| 00_example_03.txt | AC | 2 ms | 3640 KiB |
| 01.txt | AC | 2 ms | 3636 KiB |
| 02.txt | AC | 2 ms | 3584 KiB |
| 03.txt | AC | 2 ms | 3572 KiB |
| 04.txt | AC | 2 ms | 3500 KiB |
| 05.txt | AC | 3 ms | 3584 KiB |
| 06.txt | AC | 2 ms | 3636 KiB |
| 07.txt | AC | 2 ms | 3536 KiB |
| 08.txt | AC | 2 ms | 3672 KiB |
| 09.txt | AC | 3 ms | 3604 KiB |
| 10.txt | AC | 2 ms | 3640 KiB |
| 11.txt | AC | 2 ms | 3536 KiB |
| 12.txt | AC | 2 ms | 3476 KiB |
| 13.txt | AC | 3 ms | 3528 KiB |
| 14.txt | AC | 3 ms | 3456 KiB |
| 15.txt | AC | 2 ms | 3636 KiB |
| 16.txt | AC | 2 ms | 3636 KiB |
| 17.txt | AC | 2 ms | 3584 KiB |
| 18.txt | AC | 2 ms | 3456 KiB |
| 19.txt | AC | 2 ms | 3504 KiB |
| 20.txt | AC | 2 ms | 3632 KiB |
| 21.txt | AC | 2 ms | 3456 KiB |
| 22.txt | AC | 2 ms | 3452 KiB |
| 23.txt | AC | 2 ms | 3528 KiB |
| 24.txt | AC | 2 ms | 3568 KiB |
| 25.txt | AC | 2 ms | 3532 KiB |
| 26.txt | AC | 2 ms | 3572 KiB |
| 27.txt | AC | 2 ms | 3532 KiB |
| 28.txt | AC | 2 ms | 3536 KiB |
| 29.txt | AC | 2 ms | 3528 KiB |
| 30.txt | AC | 2 ms | 3632 KiB |
| 31.txt | AC | 2 ms | 3524 KiB |
| 32.txt | AC | 2 ms | 3640 KiB |
| 33.txt | AC | 2 ms | 3532 KiB |
| 34.txt | AC | 1 ms | 3640 KiB |
| 35.txt | AC | 2 ms | 3588 KiB |
| 36.txt | AC | 2 ms | 3644 KiB |
| 37.txt | AC | 2 ms | 3588 KiB |
| 38.txt | AC | 2 ms | 3512 KiB |
| 39.txt | AC | 2 ms | 3452 KiB |