This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define pii pair<long long,int>
#define ff first
#define ss second
#define mp make_pair
#define pb push_back
#define STL(i, x) for(auto &i:x) cout << i << " "; cout << "\n";
using namespace std;
long long a[300050], b[300050], as[300050];
ostream& operator<<(ostream &os, pii XXX){
cout << "[" << XXX.ff << ", " << XXX.ss << "]";
}
void db(){
cout << "\n";
}
template<class T, class ...U>
void db(T XXX, U ...YYY){
cout << XXX; db(YYY...);
}
int main(){
long long n, m;
cin >> n >> m;
loop(i,0,n){
cin >> a[i];
}
loop(i,0,n){
cin >> b[i];
}
long long ans = (9e18);
long long op = n * m, now_val;
pii now;
int now_i;
priority_queue<pii, vector<pii>, greater<pii>> pq;
loop(i,0,n){
pq.push(mp(0,i));
}
loop(i,0,op){
now_val = pq.top().ff;
now_i = pq.top().ss;
pq.pop();
if(a[now_i] > b[now_i] && as[now_i] < m){
as[now_i]++;
now_val += a[now_i];
}
else{
now_val += b[now_i];
}
pq.push(mp(now_val, now_i));
}
cout << pq.top().ff << "\n";
return 0;
}
Compilation message (stderr)
Main.cpp: In function 'std::ostream& operator<<(std::ostream&, std::pair<long long int, int>)':
Main.cpp:15:1: warning: no return statement in function returning non-void [-Wreturn-type]
15 | }
| ^
Main.cpp: In function 'int main()':
Main.cpp:33:15: warning: unused variable 'ans' [-Wunused-variable]
33 | long long ans = (9e18);
| ^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |