이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
bool myCmp(int i, int j)
{ return(i>j); }
void printArray(int arr[], int size){
int i;for (i = 0; i < size; i++)
{ cout << arr[i] << " ";cout << endl; }
}//means "if n is non-zero" or true
#define asort(a,x) sort(a,a+x,myCmp)//big to small
#define pb(x) push_back(x)
#define vsort(v) sort(v.begin(),v.end())
//string=vector
#define sp " "
#define ll long long int
ll t,n;
void solve(){
cin>>t>>n;ll a[n],cnt=0,tmp=0,tmp2=0,tp=n;
for(ll i=0;i<n;i++)
{ cin>>a[i]; }
for(int i=0;i<n;i++){
tmp+=a[i];tmp2+=a[i];
if(tmp<0){ tmp=0; }
if(tmp>=t)
{ cout<<cnt<<" "<<i;return; }
}if(tmp2<=0){ cout<<-1<<" "<<-1;return; }
t-=tmp;cnt=t/tmp2;
if(t%tmp2!=0){
t-=cnt*tmp2;cnt++;
for(int i=0;i<n;i++){
t-=a[i];tp=i;
if(t<=0)
{ cout<<cnt<<" "<<i;return; }
}
}
else{
for(int i=0;i<n;i++){
if(a[i]>0){ tp=i; }
}
}
cout<<cnt<<" "<<tp;
}
int main() {
ios::sync_with_stdio(0);cin.tie(0);
solve();cout<<endl;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |