제출 #1014024

#제출 시각아이디문제언어결과실행 시간메모리
1014024MarwenElarbi선물상자 (IOI15_boxes)C++17
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #include "boxes.h" using namespace std; #define pb push_back #define ll long long long long delivery(int N, int K, int L, int p[]) { vector<int> a; vector<int> b; int k=K; long long res=0; for (int i = 0; i < N; ++i) { if(p[i]==0) continue; if(p[i]<=L/2) a.pb(p[i]); else b.pb(L-p[i]); } if(b.size()) reverse(b.begin(),b.end()); int cnt=0; for (int i = 0; i < a.size(); ++i) { cnt++; if(cnt==k){ res+=a[i]*2; cnt=0; } } ll ans=1e18; if(cnt&&a.size()) res+=a[a.size()-1]; if(cnt&&b.size()){ ans=0; if(a.size()) ans+=L-a[a.size()-1]; int cnt1=0; for (int i = 0; i < (int)b.size()-cnt; ++i) { cnt1++; if(cnt1==k){ ans+=b[i]*2; cnt1=0; } } if(cnt1) ans+=b[b.size()-cnt-1]*2; } ll cur=0; if(cnt&&a.size()) cur+=a[a.size()-1]; cnt=0; for (int i = 0; i < b.size(); ++i) { cnt++; if(cnt==k){ cur+=b[i]*2; cnt=0; } } if(cnt&&b.size()) cur+=b[b.size()-1]*2; long long res1=res+min(ans,cur); return min(L,res1); } /* static char _buffer[1024]; static int _currentChar = 0; static int _charsNumber = 0; static FILE *_inputFile, *_outputFile; int main() { #ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif int N, K, L, i; cin>>N>>K>>L; int *p = (int*)malloc(sizeof(int) * (unsigned int)N); for (i = 0; i < N; i++) { cin>>p[i]; } cout << delivery(N, K, L, p)<<endl; return 0; }*/

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

boxes.cpp: In function 'long long int delivery(int, int, int, int*)':
boxes.cpp:19:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |     for (int i = 0; i < a.size(); ++i)
      |                     ~~^~~~~~~~~~
boxes.cpp:46:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |     for (int i = 0; i < b.size(); ++i)
      |                     ~~^~~~~~~~~~
boxes.cpp:56:22: error: no matching function for call to 'min(int&, long long int&)'
   56 |     return min(L,res1);
      |                      ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:230:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)'
  230 |     min(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:230:5: note:   template argument deduction/substitution failed:
boxes.cpp:56:22: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   56 |     return min(L,res1);
      |                      ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:278:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)'
  278 |     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:278:5: note:   template argument deduction/substitution failed:
boxes.cpp:56:22: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   56 |     return min(L,res1);
      |                      ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3468:5: note: candidate: 'template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)'
 3468 |     min(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3468:5: note:   template argument deduction/substitution failed:
boxes.cpp:56:22: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   56 |     return min(L,res1);
      |                      ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from boxes.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3474:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)'
 3474 |     min(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3474:5: note:   template argument deduction/substitution failed:
boxes.cpp:56:22: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   56 |     return min(L,res1);
      |                      ^