Submission #979140

#TimeUsernameProblemLanguageResultExecution timeMemory
979140MilosMilutinovicLightning Rod (NOI18_lightningrod)C++14
66 / 100
2095 ms215660 KiB
#include <bits/stdc++.h>

using namespace std;

const int MAX = 10000005;

int x[MAX], y[MAX], ord[MAX];

bool cmp(int i, int j) {
  return make_pair(x[i], -y[i]) < make_pair(x[j], -y[j]);
}

int main() {
  int n, a, b, i;
  scanf("%d", &n);
  for (i = 0; i < n; i++) {
    scanf("%d %d", &a, &b);
    x[i] = a - b;
    y[i] = a + b;
    ord[i] = i;
  }
  sort(ord, ord + n, cmp);
  int ans = 0, mx = -1;
  for (int i = 0; i < n; i++) {
    if (mx < y[ord[i]]) {
      ans += 1;
      mx = y[ord[i]];
    }
  }
  printf("%d\n", ans);
  return 0;
}

Compilation message (stderr)

lightningrod.cpp: In function 'int main()':
lightningrod.cpp:15:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |   scanf("%d", &n);
      |   ~~~~~^~~~~~~~~~
lightningrod.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   17 |     scanf("%d %d", &a, &b);
      |     ~~~~~^~~~~~~~~~~~~~~~~
#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...