제출 #1205446

#제출 시각아이디문제언어결과실행 시간메모리
1205446loomSnail (NOI18_snail)C++20
100 / 100
1 ms328 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 5e18

inline void solve(){
   ll h;
   int n;
   cin>>h>>n;
   vector<ll> a(n);
   ll pre = 0, sum = 0, mx = 0, mn = inf;

   for(int i=0; i<n; i++){
      cin>>a[i];
      pre += a[i];
      sum = max(0ll, sum + a[i]);

      mx = max(mx, pre);
      mn = min(mn, pre);

      if(sum >= h){
         cout<<"0 "<<i;
         exit(0);
      }
   }

   if(sum + mx >= h){
      for(int i=0; i<n; i++){
         sum += a[i];
         if(sum >= h){
            cout<<"1 "<<i;
            exit(0);
         }
      }
   }

   if(sum <= -mn){
      cout<<"-1 -1";
      exit(0);
   }
   h -= sum;
   
   ll k = (h-mx + pre-1)/pre;
   pre *= k;

   for(int i=0; i<n; i++){
      pre += a[i];
      if(pre >= h){
         cout<<k+1<<" "<<i;
         break;
      }
   }
}

int main(){
   ios_base::sync_with_stdio(0);
   cin.tie(NULL);cout.tie(NULL);

   solve();

   return 0;
}
#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...