제출 #136995

#제출 시각아이디문제언어결과실행 시간메모리
136995DanerZeinShortcut (IOI16_shortcut)C++14
23 / 100
2056 ms504 KiB
#include "shortcut.h" #include <bits/stdc++.h> #define MA 5100000000000000010 using namespace std; long long ne,N; long long MAX=MA; vector<long long> di(200),s(200); long long diam(int a,int b){ long long r=-1; for(int i=0;i<N;i++){ for(int j=i+1;j<N;j++){ long long op1=di[i]+di[j]+abs(s[j]-s[i]); long long op2=(di[i]+di[j]+abs(s[i]-s[a])+abs(s[j]-s[b])+ne); // cout<<op1<<" "<<op2<<endl; op1=di[i]+di[j]; op1+=abs(s[j]-s[i]); op2=di[i]+di[j]; op2+=abs(s[i]-s[a])+abs(s[j]-s[b])+ne; r=max(r,min(op1,op2)); // cout<<op1<<" "<<op2<<endl; // printf("%d %d %d %d %d %d %d\n",di[i],di[j],s[j],s[i],s[a],s[b],ne); } } return r; } long long find_shortcut(int n, std::vector<int> l, std::vector<int> d, int c){ ne=c; fill(di.begin(),di.end(),0); fill(s.begin(),s.end(),0); N=n; long long acum=0; for(int i=0;i<=l.size();i++){ s[i]=acum; di[i]=d[i]; acum+=l[i]; } long long mi=MAX; for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++){ long long rp=diam(i,j); mi=min(rp,mi); } } return mi; }

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

shortcut.cpp: In function 'long long int find_shortcut(int, std::vector<int>, std::vector<int>, int)':
shortcut.cpp:32:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<=l.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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...