Submission #585515

#TimeUsernameProblemLanguageResultExecution timeMemory
585515karriganPalembang Bridges (APIO15_bridge)C++14
0 / 100
1 ms468 KiB
#include<bits/stdc++.h>
#define fastio ios_base::sync_with_stdio(false);cin.tie(nullptr);
using namespace std;
struct line{
char x,z;
long long y,t;
}a[100009];
vector<long long>b[2];
vector<long long>pf[2];
int main()
{
    fastio
    int k,n;
    cin>>k>>n;
    long long ans=0;
    for (int i=1;i<=n;i++){
        cin>>a[i].x>>a[i].y>>a[i].z>>a[i].t;
        if (a[i].x!=a[i].z){
            b[a[i].x-'A'].push_back(a[i].y);
            b[a[i].z-'A'].push_back(a[i].t);
        }
        else {
            ans+=abs(a[i].y-a[i].t);
        }
    }
    sort(b[0].begin(),b[0].end());
    sort(b[1].begin(),b[1].end());
    long long cal=1e16;
    for (int i=0;i<2;i++){
        pf[i].push_back(b[i][0]);
        for (int j=1;j<(int)b[i].size();j++){
            pf[i].push_back(b[i][j]+pf[i].back());
        }
    }
    for (int i=1;i<=n;i++){
        if (a[i].x!=a[i].z){
            long long d=upper_bound(b[0].begin(),b[0].end(),a[i].y)-b[0].begin();
            long long e=upper_bound(b[1].begin(),b[1].end(),a[i].y)-b[1].begin();
            long long l1,r1,l2,r2;
            if (d>0){
            l1=d*a[i].y-pf[0][d-1];
            r1=pf[0][(int)b[0].size()-1]-pf[0][d-1]-((int)b[0].size()-d)*a[i].y;
            }
            else {
            l1=0;
            r1=pf[0][(int)b[0].size()-1]-((int)b[0].size())*a[i].y;
            }
            if (e>0){
            l2=e*a[i].y-pf[1][e-1];
            r2=pf[1][(int)b[1].size()-1]-pf[1][e-1]-((int)b[1].size()-e)*a[i].y;
            }
            else {
            l2=0;
            r2=pf[1][(int)b[1].size()-1]-((int)b[1].size())*a[i].y;
            }
        }
    }
    cout<<cal;
    /*
    1 5
    B 0 A 4
    B 1 B 3
    A 5 B 7
    B 2 A 6
    B 1 A 7
    */
}

Compilation message (stderr)

bridge.cpp: In function 'int main()':
bridge.cpp:39:23: warning: variable 'l1' set but not used [-Wunused-but-set-variable]
   39 |             long long l1,r1,l2,r2;
      |                       ^~
bridge.cpp:39:26: warning: variable 'r1' set but not used [-Wunused-but-set-variable]
   39 |             long long l1,r1,l2,r2;
      |                          ^~
bridge.cpp:39:29: warning: variable 'l2' set but not used [-Wunused-but-set-variable]
   39 |             long long l1,r1,l2,r2;
      |                             ^~
bridge.cpp:39:32: warning: variable 'r2' set but not used [-Wunused-but-set-variable]
   39 |             long long l1,r1,l2,r2;
      |                                ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...