Submission #926544

#TimeUsernameProblemLanguageResultExecution timeMemory
926544ToastSnail (NOI18_snail)C++14
100 / 100
3 ms860 KiB
#include <iostream> #include <vector> #include <string> #include <sstream> #include <cmath> using namespace std; int main() { double H,N,diff; long maxim=0; long currentheight=0; long currentphase=0; long temp = -1; bool flag = true; string P; cin >> H >> N; cin.ignore(); getline(cin, P); stringstream ss(P); vector<long>v; vector<long>max; while (getline(ss,P,' ')) { v.push_back(stoul(P)); } long currentday = -1; for (int i=0;i<2;i++) { currentday++; for (int i=0;i<N;i++) { if (currentheight+v[i]<0) { currentheight = 0; } else { currentheight +=v[i]; if (currentheight>maxim) { maxim=currentheight; } } if (currentheight>=H) { flag=false; currentphase=i; cout << currentday << " " << currentphase; break; } } max.push_back(maxim); if (!flag) { break; } if (temp==currentheight) { cout << -1 << " " << -1; flag = false; break; } diff = currentheight-temp; temp = currentheight; } currentday=ceil((H-max[0])/(max[1]-max[0])); temp = currentheight+(currentday-2)*diff; while (flag) { for (int i=0;i<N;i++) { if (v[i]+temp>=H) { cout << currentday << " " << i; flag = false; break; } else { temp+=v[i]; } } } }

Compilation message (stderr)

snail.cpp: In function 'int main()':
snail.cpp:58:40: warning: 'diff' may be used uninitialized in this function [-Wmaybe-uninitialized]
   58 |     temp = currentheight+(currentday-2)*diff;
      |                          ~~~~~~~~~~~~~~^~~~~
#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...