Submission #106984

#TimeUsernameProblemLanguageResultExecution timeMemory
106984someone_aaPalembang Bridges (APIO15_bridge)C++17
17 / 100
2056 ms3812 KiB
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define mp make_pair
using namespace std;
const int maxn = 100100;
ll s[maxn], f[maxn], n, k;
char szone[maxn], fzone[maxn];

int main() {
    cin>>k>>n;
    ll result = 0LL;

    vector<ll>v;
    for(int i=1;i<=n;i++) {
        cin>>szone[i]>>s[i];
        cin>>fzone[i]>>f[i];
        if(szone[i] == fzone[i]) result += abs(f[i] - s[i]);
        v.pb(s[i]);
        v.pb(f[i]);
    }

    if(k == 1) {
        ll mintemp = LLONG_MAX;
        for(int i:v) {
            ll temp = 0LL;
            for(int j=1;j<=n;j++) {
                if(szone[j] != fzone[j]) {
                    temp += abs(s[j] - i) + abs(f[j] - i) + 1;
                }
            }
            mintemp = min(mintemp, temp);
            //cout<<i<<": "<<temp<<"\n";
        }
        result += mintemp;
        cout<<result<<"\n";
        return 0;
    }
    else if(k == 2) {
        ll mintemp = LLONG_MAX;
        for(int i=0;i<v.size();i++) {
            for(int j=i+1;j<v.size();j++) {
                ll temp = 0LL;
                for(int d=1;d<=n;d++) {
                    if(szone[d] != fzone[d]) {
                        temp += min(abs(f[d] - v[i]) + abs(s[d] - v[i]), abs(f[d] - v[j]) + abs(s[d] - v[j])) + 1LL;
                    }
                }
                mintemp = min(mintemp, temp);
            }
        }
        result += mintemp;
        cout<<result<<"\n";
        return 0;
    }
    return 0;
}

Compilation message (stderr)

bridge.cpp: In function 'int main()':
bridge.cpp:41:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<v.size();i++) {
                     ~^~~~~~~~~
bridge.cpp:42:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int j=i+1;j<v.size();j++) {
                           ~^~~~~~~~~
#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...