제출 #905941

#제출 시각아이디문제언어결과실행 시간메모리
905941Muhammad_AneeqPalembang Bridges (APIO15_bridge)C++17
31 / 100
2086 ms5464 KiB
/* بسم الله الرحمن الرحيم Author: (:Muhammad Aneeq:) */ #include <iostream> #include <vector> #include <algorithm> using namespace std; #define int long long bool comp(pair<int,int>a,pair<int,int>b) { return (b.second>a.second); } void solve() { int k,n; cin>>k>>n; long long ans=0; int z=0; vector<int>f; vector<pair<int,int>>d; for (int i=0;i<n;i++) { char a,b; int x,y; cin>>a>>x>>b>>y; if (a==b) ans+=abs(x-y); else { z+=abs(x-y); d.push_back({x,y}); f.push_back(x); f.push_back(y); } } sort(begin(f),end(f)); int pre[f.size()+1]={}; for (int i=0;i<f.size();i++) pre[i+1]=pre[i]+f[i]; if (f.size()) { if (k==1) { long long r=1e15+10; for (auto i:f) { long long t=0; int g=lower_bound(begin(f),end(f),i)-begin(f); t+=pre[f.size()]-pre[g]-i*(f.size()-g); t+=i*(g+1)-pre[g+1]; r=min(r,t); } ans+=r; } else { long long r=1e15+10; for (int i=0;i<f.size();i++) { for (int j=i+1;j<f.size();j++) { long long t=0; for (auto k:d) t+=min(abs(k.first-f[i])+abs(k.second-f[i]),abs(k.first-f[j])+abs(k.second-f[j])); r=min(r,t); } } ans+=r; } } cout<<ans+f.size()/2<<endl; } signed main() { ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); solve(); }

컴파일 시 표준 에러 (stderr) 메시지

bridge.cpp: In function 'void solve()':
bridge.cpp:41:16: 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]
   41 |  for (int i=0;i<f.size();i++)
      |               ~^~~~~~~~~
bridge.cpp:61:18: 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]
   61 |    for (int i=0;i<f.size();i++)
      |                 ~^~~~~~~~~
bridge.cpp:63:21: 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]
   63 |     for (int j=i+1;j<f.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...