提出 #34219283


ソースコード 拡げる

#include<iostream>
#include<string>
#include<vector>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<algorithm>
#include<cstring>
using namespace std;

int n;
long long a, b, c;
int arr[200010];
long long prefix[200010];

bool check(int l, int r)
{
	int s, e;
	int mid;
	bool flag;

	s = l;
	e = r;
	flag = false;
	while (s <= e)
	{
		mid = (s + e) / 2;

		if (prefix[mid] - prefix[l - 1] == a)
		{
			flag = true;
			break;
		}
		else if (prefix[mid] - prefix[l - 1] < a) s = mid + 1;
		else e = mid - 1;
	}

	if (!flag) return false;

	l = mid + 1;
	s = l;
	e = r;
	flag = false;
	while (s <= e)
	{
		mid = (s + e) / 2;

		if (prefix[mid] - prefix[l - 1] == b)
		{
			flag = true;
			break;
		}
		else if (prefix[mid] - prefix[l - 1] < b) s = mid + 1;
		else e = mid - 1;
	}

	return flag;
}

int main()
{
	int i;
	int s, e;
	long long sum;

	cin >> n >> a >> b >> c;
	for (i = 1; i <= n; i++)
	{
		cin >> arr[i];
	}

	for (i = 1; i <= n; i++)
	{
		prefix[i] = prefix[i - 1] + arr[i];
	}

	s = 1;
	e = 0;
	sum = 0;
	while (e <= n)
	{
		if (sum == a + b + c)
		{
			if (check(s, e))
			{
				cout << "Yes";
				return 0;
			}

			e++;
			sum += arr[e];
		}
		else if (sum < a + b + c)
		{
			e++;
			sum += arr[e];
		}
		else
		{
			sum -= arr[s];
			s++;
		}
	}

	cout << "No";
}

提出情報

提出日時
問題 D - Iroha and Haiku (New ABC Edition)
ユーザ gojib2002
言語 C++ (GCC 9.2.1)
得点 400
コード長 1408 Byte
結果 AC
実行時間 69 ms
メモリ 5972 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 25
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, random_11.txt, random_12.txt, random_13.txt, random_14.txt, random_15.txt, random_16.txt, random_17.txt, random_18.txt, random_19.txt, random_20.txt, random_21.txt, random_22.txt, sample_01.txt, sample_02.txt, sample_03.txt
ケース名 結果 実行時間 メモリ
random_01.txt AC 66 ms 5904 KiB
random_02.txt AC 38 ms 4772 KiB
random_03.txt AC 64 ms 5864 KiB
random_04.txt AC 54 ms 5556 KiB
random_05.txt AC 63 ms 5904 KiB
random_06.txt AC 49 ms 5260 KiB
random_07.txt AC 69 ms 5832 KiB
random_08.txt AC 49 ms 5160 KiB
random_09.txt AC 63 ms 5972 KiB
random_10.txt AC 43 ms 4820 KiB
random_11.txt AC 66 ms 5836 KiB
random_12.txt AC 60 ms 5728 KiB
random_13.txt AC 66 ms 5956 KiB
random_14.txt AC 48 ms 5316 KiB
random_15.txt AC 64 ms 5768 KiB
random_16.txt AC 28 ms 4332 KiB
random_17.txt AC 69 ms 5716 KiB
random_18.txt AC 2 ms 3568 KiB
random_19.txt AC 31 ms 5836 KiB
random_20.txt AC 35 ms 5832 KiB
random_21.txt AC 30 ms 5772 KiB
random_22.txt AC 2 ms 3592 KiB
sample_01.txt AC 2 ms 3500 KiB
sample_02.txt AC 2 ms 3608 KiB
sample_03.txt AC 2 ms 3568 KiB