Submission #45764

#TimeUsernameProblemLanguageResultExecution timeMemory
45764TalantPalembang Bridges (APIO15_bridge)C++17
0 / 100
2 ms548 KiB
#include <bits/stdc++.h>

#define fr first
#define sc second
#define OK puts("OK");
#define pb push_back
#define mk make_pair
#define int long long
using namespace std;

const int inf = (int)1e9 + 7;
const int N = (int)2e5 + 7;

int k,n;
int x,y;
int suma,sumb;
int pos,pos1;
int ca,cb;
int ans = inf,cur;

char ch,ch1;

vector <int> a,b,v;

int f (int x) {
      suma = 0,sumb = 0;
      for (int i = 0; i < (int)a.size(); i ++)
            suma += abs(a[i] - x),sumb += abs(b[i] - x);

      return (suma + sumb + cur + (int)a.size());
}
 main () {
      cin >> k >> n;

      for (int i = 1; i <= n; i ++) {
            cin >> ch >> x >> ch1 >> y;
            if (ch == ch1) {
                  cur += abs(x - y);
            }
            else {
                  v.pb((x + y) / 2);
                  if (ch == 'A') a.pb(x),b.pb(y);
                  else b.pb(x),a.pb(y);
            }
      }
      if (k == 1) {
//            int l = 0,r = 1e9;
//
//            while (r - l >= 3) {
//                  int m = l + (r - l) / 3;
//                  int m1 = r - (r - l) / 3;
//                  if (f(m) < f(m1))
//                        r = m1;
//                  else
//                        l = m;
//            }
//            for (int i = l; i <= r; i ++)
//                  ans = min(ans,f(i));

           for (int i = 0; i < v.size(); i ++)
                  ans = min(ans,f(v[i]));

            cout << ans << endl;
      }
}
/**
Sample 1
1 5
B 0 A 4
B 1 B 3
A 5 B 7
B 2 A 6
B 1 A 7

Sample 2
2 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:32:8: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
  main () {
        ^
bridge.cpp: In function 'int main()':
bridge.cpp:60:30: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
            for (int i = 0; i < v.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...