Submission #935171

#TimeUsernameProblemLanguageResultExecution timeMemory
935171Rux007Self Study (JOI22_ho_t2)C++14
10 / 100
197 ms29668 KiB
#include <iostream> #include <queue> using namespace std; const int nmax = 300005; unsigned long long n, m, a[nmax], b[nmax], v[nmax]; priority_queue< pair<unsigned long long, unsigned long long> > H, H2; int main() { cin >> n >> m; for(int i = 1; i <= n; i ++) cin >> a[i]; for(int i = 1; i <= n; i ++) { cin >> b[i]; v[i] = max(a[i], b[i]); } for(int i = 1; i <= n; i ++) { H.push({v[i] * m, i}); H2.push({-v[i] * m , i}); } int ok = 1; while(ok) { unsigned long long maxi = H.top().first; unsigned long long pozmax = H.top().second; unsigned long long mini = -H2.top().first; unsigned long long pozmin = H2.top().second; if(maxi - v[pozmax] <= mini) { ok = 0; continue; } maxi -= v[pozmax]; if(v[pozmin] == a[pozmin]) mini += b[pozmin]; else mini += a[pozmin]; H.pop(); H2.pop(); H.push({maxi, pozmax}); H2.push({-mini, pozmin}); } cout << -H2.top().first; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:14:22: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
   14 |     for(int i = 1; i <= n; i ++)
      |                    ~~^~~~
Main.cpp:17:22: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
   17 |     for(int i = 1; i <= n; i ++)
      |                    ~~^~~~
Main.cpp:23:22: warning: comparison of integer expressions of different signedness: 'int' and 'long long unsigned int' [-Wsign-compare]
   23 |     for(int i = 1; i <= n; i ++)
      |                    ~~^~~~
#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...