Submission #1862381


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

using vi = vector<int>;
using vvi = vector<vi>;

int main()
{
    int n; cin >> n;

    vi v(n);

    for(auto& x : v) cin >> x;

    int abs_ma = 0;
    int ma = 0;
    int ma_ndx = 0;

    for(int i = 0; i < n; i++) if(abs(v[i]) >= abs_ma)
    {
        abs_ma = abs(v[i]);
        ma = v[i];
        ma_ndx = i + 1;
    }

    vvi ans;

    if(ma > 0)
    {
        ans.push_back({ma_ndx, 1});
        ans.push_back({ma_ndx, 1});

        for(int i = 2; i <= n; i++)
        {
            ans.push_back({i - 1, i});
            ans.push_back({i - 1, i});
        }
    }
    else
    if(ma < 0)
    {
        ans.push_back({ma_ndx, n});
        ans.push_back({ma_ndx, n});

        for(int i = n - 1; i >= 1; i--)
        {
            ans.push_back({i + 1, i});
            ans.push_back({i + 1, i});
        }
    }

    cout << ans.size() << endl;

    for(auto& e : ans) cout << e[0] << ' ' << e[1] << endl;

    /* debug
    for(auto& e : ans)
    {
        v[e[1] - 1] += v[e[0] - 1];
    }

    for(auto x : v) cout << x << ' '; cout << endl;
    */

    return 0;
}

Submission Info

Submission Time
Task D - Non-decreasing
User omgcoin
Language C++14 (GCC 5.4.1)
Score 600
Code Size 1188 Byte
Status AC
Exec Time 3 ms
Memory 256 KB

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 1 ms 256 KB
00_example_02.txt AC 1 ms 256 KB
00_example_03.txt AC 1 ms 256 KB
01.txt AC 1 ms 256 KB
02.txt AC 2 ms 256 KB
03.txt AC 1 ms 256 KB
04.txt AC 1 ms 256 KB
05.txt AC 1 ms 256 KB
06.txt AC 1 ms 256 KB
07.txt AC 1 ms 256 KB
08.txt AC 2 ms 256 KB
09.txt AC 2 ms 256 KB
10.txt AC 2 ms 256 KB
11.txt AC 1 ms 256 KB
12.txt AC 2 ms 256 KB
13.txt AC 3 ms 256 KB
14.txt AC 2 ms 256 KB
15.txt AC 2 ms 256 KB
16.txt AC 1 ms 256 KB
17.txt AC 1 ms 256 KB
18.txt AC 2 ms 256 KB
19.txt AC 1 ms 256 KB
20.txt AC 1 ms 256 KB
21.txt AC 2 ms 256 KB
22.txt AC 1 ms 256 KB
23.txt AC 1 ms 256 KB
24.txt AC 1 ms 256 KB
25.txt AC 1 ms 256 KB
26.txt AC 1 ms 256 KB
27.txt AC 1 ms 256 KB
28.txt AC 2 ms 256 KB
29.txt AC 2 ms 256 KB
30.txt AC 1 ms 256 KB
31.txt AC 1 ms 256 KB
32.txt AC 1 ms 256 KB
33.txt AC 1 ms 256 KB
34.txt AC 1 ms 256 KB
35.txt AC 2 ms 256 KB
36.txt AC 1 ms 256 KB
37.txt AC 1 ms 256 KB
38.txt AC 1 ms 256 KB
39.txt AC 1 ms 256 KB