# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|
148891 | | Welcome to osu! (#200) | 십자가 놓기 (FXCUP4_cross) | C++17 | | 130 ms | 6508 KiB |
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 "cross.h"
#include <bits/stdc++.h>
#define va first
#define vb second
using namespace std;
typedef pair<int,int> pii;
typedef long long ll;
ll ans,in,out;
pii C[200005];
priority_queue<int, vector<int>, greater<int> > PQ;
long long SelectCross(int K, std::vector<int> I, std::vector<int> O) {
int N = I.size();
for(int i=0; i<N; i++){
C[i].va = O[i];
C[i].vb = I[i];
}
sort(C,C+N);
out = C[N-K].va;
for(int i=N-K; i<N; i++) PQ.push(C[i].vb);
in = PQ.top();
ans = 2*in*out-in*in;
for(int i=N-K-1; i>=0; i--){
out = C[i].va;
PQ.pop();
PQ.push(C[i].vb);
in = PQ.top();
ans = max(ans,2*in*out-in*in);
//cout << in << out << ans << '\n';
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |