Submission #3692169


Source Code Expand

#include <bits/stdc++.h>

#define mp make_pair

using namespace std;

typedef int32_t i32;
typedef uint32_t u32;
typedef int64_t i64;
typedef uint64_t u64;
typedef pair<int,int> pii;
typedef pair<i64,int> pli;
typedef pair<int,i64> pil;
typedef pair<i64,i64> pll;
typedef vector<int> vi;
typedef vector<i64> vl;

const int MAX_N = 50;
int n;
int a[MAX_N];

int main()
{
  cin >> n;
  for (int i = 0; i < n; ++i) {
    cin >> a[i];
  }

  vector<pii> inst;
  auto p = minmax_element(a,a+n);
  int min_i = p.first - a, max_i = p.second - a;
  int min_v = *p.first, max_v = *p.second;
  if ((1LL*min_v) * (1LL*max_v) < 0) {
    if (abs(min_v) >= abs(max_v)) {
      for (int i = 0; i < n; i++) {
        if (a[i] > min_v) {
          inst.push_back(mp(min_i+1,i+1));
          a[i] += min_v;
        }
      }
    } else {
      for (int i = 0; i < n; i++) {
        if (a[i] < max_v) {
          inst.push_back(mp(max_i+1,i+1));
          a[i] += max_v;
        }
      }
    }
  }

  if (a[0] >= 0) {
    for (int i = 0; i < n-1; i++) {
      if (a[i+1] < a[i]) {
        inst.push_back(mp(i+1,i+2));
        a[i+1] += a[i];
      }
    }
  } else {
    for (int i = n-1; i > 0; i--) {
      if (a[i-1] > a[i]) {
        inst.push_back(mp(i+1,i));
        a[i-1] += a[i];
      }
    }
  }

  cout << inst.size() << endl;
  for (auto p : inst) {
    cout << p.first << " " << p.second << endl;
  }

  return 0;
}

Submission Info

Submission Time
Task D - Non-decreasing
User sash0
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1485 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 600
Status
AC × 3
AC × 41
WA × 1
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 1 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 1 ms 256 KB
09.txt AC 1 ms 256 KB
10.txt AC 1 ms 256 KB
11.txt AC 1 ms 256 KB
12.txt AC 1 ms 256 KB
13.txt AC 1 ms 256 KB
14.txt AC 1 ms 256 KB
15.txt AC 1 ms 256 KB
16.txt AC 1 ms 256 KB
17.txt AC 1 ms 256 KB
18.txt AC 1 ms 256 KB
19.txt AC 1 ms 256 KB
20.txt AC 1 ms 256 KB
21.txt AC 1 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 1 ms 256 KB
29.txt AC 1 ms 256 KB
30.txt AC 1 ms 256 KB
31.txt AC 1 ms 256 KB
32.txt WA 1 ms 256 KB
33.txt AC 1 ms 256 KB
34.txt AC 1 ms 256 KB
35.txt AC 1 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