Submission #766392

#TimeUsernameProblemLanguageResultExecution timeMemory
766392ivopavPalembang Bridges (APIO15_bridge)C++17
22 / 100
69 ms4280 KiB
#include <bits/stdc++.h>
using namespace std;

int main(){
    long long int n;
    long long int k;
    cin >> k >> n;
    long long int isp=0;
    vector<pair<long long int,long long int>> lis={};
    for (long long int i=0;i<n;i++){
        char prvgdje;
        long long int prv;
        char drugdje;
        long long int dru;
        cin >> prvgdje >> prv >> drugdje >> dru;
        if (prvgdje==drugdje){
            isp+=abs(prv-dru);
        }
        else {
            lis.push_back({prv,dru});
        }
    }
    long long int poc=0;
    long long int kra=1000000001;
    long long int sre=kra/2;
    while (poc<sre){
        long long int zbr1=0;
        long long int zbr2=0;
        for (long long int i=0;i<lis.size();i++){
            zbr1+=abs(sre-lis[i].first)+abs(sre-lis[i].second);
            zbr2+=abs(sre+1-lis[i].first)+abs(sre+1-lis[i].second);
        }
        if (zbr1==zbr2){
            break;
        }
        else if (zbr1<zbr2){
            kra=sre;
        }
        else {
            poc=sre;
        }
        sre=(poc+kra)/2;
    }
    long long int zbr1=0;
    long long int zbr2=0;
    long long int zbr3=0;
    for (long long int i=0;i<lis.size();i++){
        zbr1+=abs((sre-1)-lis[i].first)+abs((sre-1)-lis[i].second);
        zbr2+=abs((sre)-lis[i].first)+abs((sre)-lis[i].second);
        zbr3+=abs((sre+1)-lis[i].first)+abs((sre+1)-lis[i].second);
        
    }
  //  cout << isp << " " << sre << " " << zbr1 << " " << zbr2 << " " << zbr3 << "\n";
    cout << isp+min(zbr1,min(zbr2,zbr3))+lis.size() << "\n";
}

Compilation message (stderr)

bridge.cpp: In function 'int main()':
bridge.cpp:29:33: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         for (long long int i=0;i<lis.size();i++){
      |                                ~^~~~~~~~~~~
bridge.cpp:47:29: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |     for (long long int i=0;i<lis.size();i++){
      |                            ~^~~~~~~~~~~
#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...