Submission #920053

# Submission time Handle Problem Language Result Execution time Memory
920053 2024-02-02T02:43:10 Z Aiperiii Palembang Bridges (APIO15_bridge) C++14
22 / 100
100 ms 9064 KB
#include <bits/stdc++.h>
#define int long long
#define ff first
#define ss second
#define pb push_back
#define all(x) x.begin(),x.end()
using namespace std;
signed main(){
   ios_base::sync_with_stdio();
   cin.tie(0);cout.tie(0);
   int k,n;
   cin>>k>>n;
   vector <char> t1(n),t2(n);
   vector <int> x(n),y(n);
   for(int i=0;i<n;i++){
      cin>>t1[i]>>x[i]>>t2[i]>>y[i];
   }
   
   int ans=0,sum=0;
   vector <int> v,pr;
   for(int j=0;j<n;j++){
      if(t1[j]==t2[j])ans+=abs(x[j]-y[j]);
      else{
         ans++;
         v.pb(x[j]);v.pb(y[j]);
      }
   }
   sort(all(v));
   for(int i=0;i<v.size();i++){
      sum+=v[i];
      pr.pb(sum);
   }
   int mn=1e18;
   for(int i=0;i<n;i++){
      int res=ans;
      auto it=upper_bound(all(v),x[i]);
      if(it!=v.end()){
         int pos=it-v.begin();
         int cnt=v.size()-pos;
         pos--;
         int d=pr.back();
         if(pos>=0)d-=pr[pos];
         res+=d-cnt*x[i];
      }
      if(it!=v.begin()){
         it--;
         int pos=it-v.begin();
         int d=pr[pos];pos++;
         res+=pos*x[i]-d;
      }
      mn=min(mn,res);
   }
   for(int i=0;i<n;i++){
      int res=ans;
      auto it=upper_bound(all(v),y[i]);
      if(it!=v.end()){
         int pos=it-v.begin();
         int cnt=v.size()-pos;
         pos--;
         int d=pr.back();
         if(pos>=0)d-=pr[pos];
         res+=d-cnt*y[i];
      }
      if(it!=v.begin()){
         it--;
         int pos=it-v.begin();
         int d=pr[pos];pos++;
         res+=pos*y[i]-d;
      }
      mn=min(mn,res);
   }
   cout<<mn<<"\n";
}
/*
1 5
B 0 A 4
B 1 B 3
A 5 B 7
B 2 A 6
B 1 A 7
 */

Compilation message

bridge.cpp: In function 'int main()':
bridge.cpp:29:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |    for(int i=0;i<v.size();i++){
      |                ~^~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 1 ms 348 KB Output is correct
9 Correct 1 ms 344 KB Output is correct
10 Correct 1 ms 344 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 1 ms 344 KB Output is correct
6 Correct 1 ms 344 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Correct 2 ms 600 KB Output is correct
9 Correct 1 ms 344 KB Output is correct
10 Correct 1 ms 348 KB Output is correct
11 Correct 1 ms 344 KB Output is correct
12 Correct 37 ms 6596 KB Output is correct
13 Correct 99 ms 6592 KB Output is correct
14 Correct 71 ms 6336 KB Output is correct
15 Correct 57 ms 3900 KB Output is correct
16 Correct 61 ms 8640 KB Output is correct
17 Correct 76 ms 8944 KB Output is correct
18 Correct 75 ms 8556 KB Output is correct
19 Correct 100 ms 9064 KB Output is correct
20 Correct 62 ms 8640 KB Output is correct
21 Correct 79 ms 8896 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 344 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 344 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB Output isn't correct
4 Halted 0 ms 0 KB -