Submission #44090544


Source Code Expand

#include <bits/stdc++.h>
// #define int long long // ....................
// using ll = long long; // ....................
using namespace std;
typedef pair<int, int> pii;

const int e3 = 1000, e6 = e3 * e3, e9 = e6 * e3;
// const int e12 = e9 * e3, e15 = e12 * e3, e18 = e15 * e3; // ....................
const int m998 = 998244353, m197 = 1000000007;

inline void init()
{
}

inline void solve()
{
    int n;
    cin >> n;
    vector<int> v(n);
    for (int &i : v)
        cin >> i;

    int mxidx = max_element(v.begin(), v.end()) - v.begin();
    int mnidx = min_element(v.begin(), v.end()) - v.begin();
    assert(v[mxidx] != v[mnidx] || v[mxidx] == 0);

    vector<pii> ans;
    if (abs(v[mxidx]) > abs(v[mnidx]) || abs(v[mxidx]) == abs(v[mnidx]) && v[0] > 0)
    {
        for (int i = 0; i < n; ++i)
            if (v[i] < 0)
                ans.emplace_back(mxidx, i);
        for (int i = 0; i + 1 < n; ++i)
            ans.emplace_back(i, i + 1);
    }
    else
    {
        for (int i = 0; i < n; ++i)
            if (v[i] > 0)
                ans.emplace_back(mnidx, i);
        for (int i = n - 1; i > 0; --i)
            ans.emplace_back(i, i - 1);
    }
    cout << (int)ans.size() << '\n';
    for (pii i : ans)
        cout << i.first + 1 << ' ' << i.second + 1 << '\n';
}

signed main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int tc = 1;

    // cin >> tc; // ....................

    init();
    while (tc--)
        solve();
    return 0;
}

Submission Info

Submission Time
Task D - Non-decreasing
User qwe1rt1yuiop1
Language C++ (GCC 9.2.1)
Score 600
Code Size 1544 Byte
Status AC
Exec Time 7 ms
Memory 3636 KiB

Compile Error

./Main.cpp: In function ‘void solve()’:
./Main.cpp:28:73: warning: suggest parentheses around ‘&&’ within ‘||’ [-Wparentheses]
   28 |     if (abs(v[mxidx]) > abs(v[mnidx]) || abs(v[mxidx]) == abs(v[mnidx]) && v[0] > 0)
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 600 / 600
Status
AC × 3
AC × 42
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 7 ms 3416 KiB
00_example_02.txt AC 2 ms 3516 KiB
00_example_03.txt AC 2 ms 3592 KiB
01.txt AC 2 ms 3548 KiB
02.txt AC 2 ms 3628 KiB
03.txt AC 3 ms 3524 KiB
04.txt AC 2 ms 3476 KiB
05.txt AC 2 ms 3596 KiB
06.txt AC 4 ms 3464 KiB
07.txt AC 2 ms 3484 KiB
08.txt AC 2 ms 3588 KiB
09.txt AC 1 ms 3528 KiB
10.txt AC 2 ms 3544 KiB
11.txt AC 2 ms 3596 KiB
12.txt AC 2 ms 3548 KiB
13.txt AC 3 ms 3620 KiB
14.txt AC 2 ms 3636 KiB
15.txt AC 2 ms 3544 KiB
16.txt AC 2 ms 3480 KiB
17.txt AC 3 ms 3536 KiB
18.txt AC 3 ms 3536 KiB
19.txt AC 3 ms 3632 KiB
20.txt AC 2 ms 3620 KiB
21.txt AC 2 ms 3468 KiB
22.txt AC 2 ms 3532 KiB
23.txt AC 2 ms 3536 KiB
24.txt AC 2 ms 3536 KiB
25.txt AC 2 ms 3580 KiB
26.txt AC 2 ms 3548 KiB
27.txt AC 2 ms 3532 KiB
28.txt AC 2 ms 3464 KiB
29.txt AC 2 ms 3548 KiB
30.txt AC 2 ms 3476 KiB
31.txt AC 2 ms 3412 KiB
32.txt AC 2 ms 3528 KiB
33.txt AC 2 ms 3456 KiB
34.txt AC 2 ms 3460 KiB
35.txt AC 2 ms 3532 KiB
36.txt AC 2 ms 3596 KiB
37.txt AC 2 ms 3476 KiB
38.txt AC 2 ms 3596 KiB
39.txt AC 2 ms 3472 KiB