Submission #124383

#TimeUsernameProblemLanguageResultExecution timeMemory
124383AyaBenSaadStrange Device (APIO19_strange_device)C++14
0 / 100
493 ms32396 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const int M = 1e6 + 6; int n; ll a, b; stack <pair <ll, ll> > s; pair <ll, ll> t[M]; bool inter (ll a, ll b) { ll x = s.top().first; ll y = s.top().second; return ((a <= y && a >= x) || (b <= y && b >= x)); } int main () { scanf ("%d %lld %lld", &n, &a, &b); for (int i = 0; i < n; i++) { scanf ("%lld %lld", &t[i].first, &t[i].second); } sort (t, t+n); for (int i = 0; i < n; i++) { if (s.empty() || !inter(t[i].first, t[i].second)) { s.push ({t[i].first, t[i].second}); } else { long long x = min (t[i].first, s.top().first); long long y = max (t[i].second, s.top().second); s.pop(); s.push({x, y}); } } long long ans = 0; while (s.size()) { ans += s.top().second - s.top().first + 1; s.pop(); } printf ("%lld\n", ans); }

Compilation message (stderr)

strange_device.cpp: In function 'int main()':
strange_device.cpp:19:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf ("%d %lld %lld", &n, &a, &b);
   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
strange_device.cpp:21:11: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf ("%lld %lld", &t[i].first, &t[i].second);
     ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...