제출 #43868

#제출 시각아이디문제언어결과실행 시간메모리
43868faustaadpWiring (IOI17_wiring)C++14
0 / 100
85 ms4252 KiB
#include "wiring.h" #include<bits/stdc++.h> #define ll long long #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ll i,A[101010],B[101010],SA,SB,d[202][202]; ll hey(ll aa,ll bb,ll cc) { ll ii,h=0; for(ii=bb;ii<=cc;ii++) h+=abs(A[aa]-B[ii]); return h; } ll depe(ll aa,ll bb) { if(aa==SA+1&&bb==SB+1) return 0; if(aa==SA+1||bb==SB+1) return 1e18; if(d[aa][bb]==-1) { d[aa][bb]=1e18; ll ii; for(ii=bb;ii<=SB;ii++) d[aa][bb]=min(d[aa][bb],hey(aa,bb,ii)+depe(aa+1,ii+1)); } return d[aa][bb]; } long long min_total_length(std::vector<int> r, std::vector<int> b) { if(r.size()<b.size()) { for(i=0;i<r.size();i++) A[i+1]=r[i]; for(i=0;i<b.size();i++) B[i+1]=b[i]; } else { for(i=0;i<r.size();i++) B[i+1]=r[i]; for(i=0;i<b.size();i++) A[i+1]=b[i]; } SA=min(r.size(),b.size()); SB=max(r.size(),b.size()); if(r.size()<=200&&b.size()<=200) { memset(d,-1,sizeof(d)); return depe(1,1); } return 0; }

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

wiring.cpp: In function 'long long int min_total_length(std::vector<int>, std::vector<int>)':
wiring.cpp:35:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(i=0;i<r.size();i++)
            ^
wiring.cpp:37:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(i=0;i<b.size();i++)
            ^
wiring.cpp:42:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(i=0;i<r.size();i++)
            ^
wiring.cpp:44:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(i=0;i<b.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...