제출 #834957

#제출 시각아이디문제언어결과실행 시간메모리
834957vjudge1Palembang Bridges (APIO15_bridge)C++17
0 / 100
1 ms212 KiB
#include<bits/stdc++.h> #define ll long long #define fi first #define se second using namespace std; const int nmax = 1e5+5; struct abt { char har; int h; char oar; int o; }; abt per[nmax]; int main() { int K,N; int dist = 0; int ujkir = INT_MAX; int ujkan = INT_MIN; cin >> K >> N; vector<pair<int,int>>jar; for(int i=1; i<=N; i++) { cin >> per[i].har >> per[i].h >> per[i].oar >> per[i].o; //ujkir = min(min(per[i].h, per[i].o), ujkir); //ujkan = max(max(per[i].h, per[i].o), ujkan); if(per[i].har == per[i].oar) { dist += abs(per[i].h - per[i].o); } else { int sem = abs(per[i].h - per[i].o) + 1; jar.push_back({sem, i}); } } int bridge; int terd; long long sums; long long dismin=LLONG_MAX; for(int i=0; i<jar.size(); i++) { bridge = per[jar[i].se].o; sums = 0; for(int j=0; j<jar.size(); j++) { sums+=jar[j].fi; if(bridge < min(per[jar[j].se].o, per[jar[j].se].h)) { terd = min(per[jar[j].se].o, per[jar[j].se].h); sums += (2*abs(terd - bridge)); } else if(bridge > max(per[jar[j].se].o, per[jar[j].fi].h)) { terd = max(per[jar[j].se].o, per[jar[j].fi].h); sums += (2*abs(terd - bridge)); } } dismin = min(dismin, sums); bridge = per[jar[i].se].h; sums = 0; for(int j=0; j<jar.size(); j++) { sums+=jar[j].fi; if(bridge < min(per[jar[j].se].o, per[jar[j].se].h)) { terd = min(per[jar[j].se].o, per[jar[j].se].h); sums += (2*abs(terd - bridge)); } else if(bridge > max(per[jar[j].se].o, per[jar[j].fi].h)) { terd = max(per[jar[j].se].o, per[jar[j].fi].h); sums += (2*abs(terd - bridge)); } } dismin = min(dismin, sums); } cout << dist+dismin << endl; return 0; }

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

bridge.cpp: In function 'int main()':
bridge.cpp:36:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |     for(int i=0; i<jar.size(); i++) {
      |                  ~^~~~~~~~~~~
bridge.cpp:39:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |         for(int j=0; j<jar.size(); j++) {
      |                      ~^~~~~~~~~~~
bridge.cpp:54:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         for(int j=0; j<jar.size(); j++) {
      |                      ~^~~~~~~~~~~
bridge.cpp:17:9: warning: unused variable 'ujkir' [-Wunused-variable]
   17 |     int ujkir = INT_MAX;
      |         ^~~~~
bridge.cpp:18:9: warning: unused variable 'ujkan' [-Wunused-variable]
   18 |     int ujkan = INT_MIN;
      |         ^~~~~
#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...