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...