Skip to main content

codeforces div3 round 547-Superhero Battle

#include<bits/stdc++.h>
using namespace std;
int main()
{
 long long H;
 int n,i;
 cin>>H>>n;
 long long d[n],sum=0,h=H,gap=0;
 for(i=0;i<n;i++)
 {
  cin>>d[i];
  sum-=d[i];
  h=h+d[i];
  if(h<=0)
  {
   cout<<i+1<<endl;
   return 0;
  }
  gap=max(gap,sum);
 }

 if(sum<=0)
 {
  cout<<"-1"<<endl;
  return 0;
 }
 long long whole=(H-gap)/sum;
 H=H-whole*sum;
 long long result=whole*n;
 for(i=0;;i++)
 {
  H=H+d[i%n];
  result++;
  if(H<=0)
  {
   cout<<result<<endl;
   break;
  }
 }
 return 0;
}

Comments

Popular posts from this blog

Codeforces-Dubstep solution

#include < bits / stdc ++. h > using namespace std ; int main () { string str ; getline ( cin , str ); int index = str . find ( "WUB" ); int count = 0 ; while ( index !=- 1 ) { str . replace ( index , 3 , " " ); //str.erase(str.begin()+index,str.begin()+index+3); index = str . find ( "WUB" ); } cout << str ; return 0 ; }

codeforces-Anton and Danik

#include < bits / stdc ++. h > using namespace std ; int main () { long n ; string str ; cin >> n ; cin >> str ; long count = 0 , index ; index = str . find ( "A" ); while ( index !=- 1 ) { count ++; str . erase ( str . begin ()+ index , str . begin ()+ index + 1 ); index = str . find ( "A" ); } if ( count > n - count ) cout << "Anton" ; else if ( count < n - count ) cout << "Danik" ; else cout << "Friendship" ; return 0 ; }