Submission #150241

#TimeUsernameProblemLanguageResultExecution timeMemory
150241요까할 로뭘 은명팀 (#200)Crosses on the Grid (FXCUP4_cross)C++17
100 / 100
229 ms16092 KiB
#include "cross.h"
#include <bits/stdc++.h>
#define pll pair<long long,long long>
using namespace std;
typedef long long ll;
vector <pll> v;
int n;
int a[200005];
multiset <int> s;

bool cmp(pll p1,pll p2)
{
    if(p1.first == p2.first) return p1.second > p2.second;
    else return p1.first > p2.first;
}

bool cmp2(pll p1,pll p2)
{
    if(p1.second == p2.second) return p1.first > p2.first;
    else return p1.second > p2.second;
}

long long SelectCross(int k,vector<int> I,vector<int> O) {
    n = I.size();
    for(int i = 0;i < n;i++) v.push_back(make_pair((ll)I[i],(ll)O[i]));
	sort(v.begin(),v.end());
	ll oo = 1e10,ii = 1e10,ans = 0;
	for(int i = n-k;i < n;i++) s.insert(v[i].second);
	auto it = s.begin();
	ans = v[n-k].first*(2*(*it)-v[n-k].first);
	//cout << ans << " " << *it << " " << v[n-k].first << '\n';
	for(int i = n-k-1;i >= 0;i--)
    {
        s.insert(v[i].second);
        it = s.begin(); s.erase(it);
        it = s.begin();
        ans = max(ans,v[i].first*(2*(*it)-v[i].first));
        //cout << ans << " ";
    }
    //return ii*(2*oo-ii);
    return ans;
}

Compilation message (stderr)

cross.cpp: In function 'long long int SelectCross(int, std::vector<int>, std::vector<int>)':
cross.cpp:27:5: warning: unused variable 'oo' [-Wunused-variable]
  ll oo = 1e10,ii = 1e10,ans = 0;
     ^~
cross.cpp:27:15: warning: unused variable 'ii' [-Wunused-variable]
  ll oo = 1e10,ii = 1e10,ans = 0;
               ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...