Submission #731780

#TimeUsernameProblemLanguageResultExecution timeMemory
731780thienhxPotatoes and fertilizers (LMIO19_bulves)C++17
100 / 100
195 ms14992 KiB
#include "bits/stdc++.h" using namespace std; #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") using ll = long long; using pii = pair<int, int>; using pll = pair<ll, ll>; using str = string; using ld = long double; using db = double; //-------------------- #define F first #define S second #define pb push_back #define sz(x) (int)((x).size()) #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() #define mem(f,x) memset(f , x , sizeof(f)) #define __lcm(x, y) (1LL * ((x) / __gcd((x), (y))) * (y)) template<class T> bool maximize(T &a,const T &b){ return (a < b ? a = b, 1 : 0); } template<class T> bool minimize(T &a,const T &b){ return (a > b ? a = b, 1 : 0); } //-------------------- #define PROBLEM "test" const int MOD = 1e9 + 7; // 998244353; const ll INF = 1e18; const db PI = acos(-1); const int dx[4]{0, 1, 0, -1}, dy[4]{1, 0, -1, 0}; // U R D L const int ddx[4]{-1, 1, 1, -1}, ddy[4]{1, 1, -1, -1}; // UR DR DL UL const int kx[8]{1, 1, 2, 2, -1, -1, -2, -2}, ky[8]{-2, 2, -1, 1, -2, 2, -1, 1}; //-----------------[PROBLEM SOLUTION]-----------------// void solve() { ll n, res = 0, pref = 0; cin >> n; ll x, y; priority_queue<ll> pq; for (int i = 0; i < n; i++) pq.push(0); for (int i = 0; i < n - 1; i++) { cin >> x >> y; pref += x - y; pq.push(pref); if (pref < pq.top()) { res += pq.top() - pref; pq.pop(); pq.push(pref); } } cin >> x >> y; pref += x - y; while(pq.size() && pref < pq.top()) res += pq.top() - pref, pq.pop(); cout << res << '\n'; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if (fopen(PROBLEM".inp", "r")){ freopen(PROBLEM".inp", "r", stdin); freopen(PROBLEM".out", "w", stdout); } constexpr bool MULTI_TEST = 0; int t = 1; if(MULTI_TEST) cin >> t; while(t--) solve(); }

Compilation message (stderr)

bulves.cpp: In function 'int main()':
bulves.cpp:69:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   69 |         freopen(PROBLEM".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
bulves.cpp:70:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   70 |         freopen(PROBLEM".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...