Submission #1029433

#TimeUsernameProblemLanguageResultExecution timeMemory
1029433XJP12Boxes with souvenirs (IOI15_boxes)C++14
10 / 100
1 ms436 KiB
#include <bits/stdc++.h> #include "boxes.h" using namespace std; typedef long long ll; typedef vector<int> vi; ll delivery(int n, int k, int L, int positions[]){ ll l=(ll)L; if(k==1){ ll ans=0; for(int i=0; i<n; i++){ ans+=min(positions[i],L-positions[i])*2; } return ans; } if(k==n){ vi pos; set<ll> z; for(int i=0; i<n; i++){ int size=(int)z.size(); z.insert(positions[i]); if((int)z.size()!=size){ pos.push_back(positions[i]); } } int x=-1,y=-1; for(int i=0; i<pos.size(); i++){ if(pos[i]>l/2) break; x = i; } for(int i=n-1; i>=0; i--){ if(pos[i]<=l/2) break; y = i; } long long ans=0; if(x!=-1) ans+=pos[x]*2; if(y!=-1) ans+=(n-pos[y])*2; ans=min(l, ans); return ans; } return 0; }

Compilation message (stderr)

boxes.cpp: In function 'll delivery(int, int, int, int*)':
boxes.cpp:26:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |   for(int i=0; i<pos.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...