Submission #1205437

#TimeUsernameProblemLanguageResultExecution timeMemory
1205437loomSnail (NOI18_snail)C++20
100 / 100
2 ms468 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define inf 5e18 #define nl '\n' inline void solve(){ int h, n; cin>>h>>n; int a[n], 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; return; } } if(sum + mx >= h){ for(int i=0; i<n; i++){ sum += a[i]; if(sum >= h){ cout<<"1 "<<i; return; } } } if(sum <= -mn){ cout<<"-1 -1"; return; } h -= sum; int 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; return; } } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(NULL);cout.tie(NULL); int t = 1; //cin>>t; while(t--) 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...