제출 #232940

#제출 시각아이디문제언어결과실행 시간메모리
232940kristopher23Mountains (NOI20_mountains)C++17
64 / 100
2087 ms4608 KiB
#include <bits/stdc++.h>

using namespace std;

using ll = long long;

using vi = vector<int>;
using vll = vector<ll>;

using pi = pair<int, int>;
using pll = pair<ll, ll>;

constexpr auto MOD = 1e9 + 7;
constexpr auto INF = 0x3f3f3f3f;

#define rep(i, a, b) for (auto i = a; i < b; ++i)

template <class T> inline T square(T x) { return x * x; };

template <class T> void print(const T &val) { cout << val << '\n'; }

template <class Iterator> void print(Iterator begin, Iterator end) {
  for (auto it = begin; it != end; ++it) {
    cout << *it << ' ';
  }

  cout << '\n';
}

using ull = unsigned long long;

int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);

  ll n;
  cin >> n;

  vector<ull> a(n);

  for (auto &i : a) {
    cin >> i;
  }

  ull ans = 0;

  for (ull i = 1; i < n - 1; ++i) {
    ull x = 0, y = 0;
    for (ull j = 0; j < i; ++j) {
      if (a[j] < a[i]) {
        ++x;
      }
    }
    for (ull j = i + 1; j < n; ++j) {
      if (a[j] < a[i]) {
        ++y;
      }
    }

    ans += (x * y);
  }

  print(ans);
}

컴파일 시 표준 에러 (stderr) 메시지

Mountains.cpp: In function 'int main()':
Mountains.cpp:47:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (ull i = 1; i < n - 1; ++i) {
                   ~~^~~~~~~
Mountains.cpp:54:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (ull j = i + 1; j < n; ++j) {
                         ~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...