| # | 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... | ||||
