torus711 のアレ

主に競技プログラミングの問題について書きます

AtCoder Regular Contest #010, A : 名刺交換

解法

愚直シミュレーション

コード

typedef vector<int> VI;

#define REP( i, m, n ) for ( int i = (int)( m ); i < (int)( n ); ++i )
#define EACH( v, c ) for ( auto &v : c )

int main()
{
	cin.tie( 0 );
	ios::sync_with_stdio( false );

	int n, m, a, b;
	cin >> n >> m >> a >> b;

	VI cs( m );
	EACH( c, cs )
	{
		cin >> c;
	}

	REP( i, 0, m )
	{
		if ( n <= a )
		{
			n += b;
		}

		n -= cs[i];

		if ( n < 0 )
		{
			cout << i + 1 << endl;
			return 0;
		}
	}

	cout << "complete" << endl;

	return 0;
}