# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
400538 | A_D | Fireworks (APIO16_fireworks) | C++14 | 1 ms | 296 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 <bits/stdc++.h>
#define int long long
#define ii pair<int,int>
#define F first
#define S second
#define du long double
using namespace std;
const int N=1e2+100;
vector<ii> g[N];
vector<int> vec;
int ok(int mid)
{
int ret=0;
for(auto x:vec){
ret+=abs(x-mid);
}
return ret;
}
void solve()
{
int n,m;
cin>>n>>m;
for(int i=2;i<=n+m;i++){
int u,c;
scanf("%lld",&u);
scanf("%lld",&c);
vec.push_back(c);
g[u].push_back({i,c});
}
sort(vec.begin(),vec.end());
int l=0,r=1e9,ans=1e18;
while(l<=r){
int mid=(l+r)/2;
int u=ok(mid);
int v=ok(mid+1);
ans=min(ans,u);
ans=min(ans,v);
if(u<v){
r=mid-1;
}
else{
l=mid+2;
}
}
cout<<ans<<endl;
}
main()
{
int t=1;
// cin>>t;
while(t--)solve();
}
Compilation message (stderr)
# | 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... |