結果

問題 No.3068 Speedrun (Hard)
ユーザー pengin_2000
提出日時 2025-03-21 21:53:47
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 1,179 ms / 2,000 ms
コード長 1,497 bytes
コンパイル時間 363 ms
コンパイル使用メモリ 26,848 KB
実行使用メモリ 7,324 KB
最終ジャッジ日時 2025-03-21 21:53:59
合計ジャッジ時間 10,294 ms
ジャッジサーバーID
(参考情報)
judge6 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 32
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:5:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    5 |         scanf("%lld %lld %lld %lld %lld", &a, &b, &c, &d, &n);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.c:7:9: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    7 |         scanf("%lld %lld %lld %lld %lld", &p, &q, &r, &s, &t);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include<stdio.h>
int main()
{
	long long int a, b, c, d, n;
	scanf("%lld %lld %lld %lld %lld", &a, &b, &c, &d, &n);
	long long int p, q, r, s, t;
	scanf("%lld %lld %lld %lld %lld", &p, &q, &r, &s, &t);
	long long int i, j, k, l;
	long long int nn, tt;
	if (r > s)
	{
		for (i = 0; i <= a; i++)
		{
			for (j = 0; j <= b; j++)
			{
				nn = n - i - j;
				tt = t - p * i - q * j;
				if (nn < 0 || tt < 0)
					break;
				k = (tt - s * nn) / (r - s);
				l = n - i - j - k;
				if (k<0 || l<0 || k>c || l>d)
					continue;
				if (p * i + q * j + r * k + s * l != t)
					continue;
				printf("%lld %lld %lld %lld\n", i, j, k, l);
				return 0;
			}
		}
	}
	else if (r < s)
	{
		for (i = 0; i <= a; i++)
		{
			for (j = 0; j <= b; j++)
			{
				nn = n - i - j;
				tt = t - p * i - q * j;
				if (nn < 0 || tt < 0)
					break;
				l = (tt - r * nn) / (s - r);
				k = n - i - j - l;
				if (k<0 || l<0 || k>c || l>d)
					continue;
				if (p * i + q * j + r * k + s * l != t)
					continue;
				printf("%lld %lld %lld %lld\n", i, j, k, l);
				return 0;
			}
		}
	}
	else
	{
		for (i = 0; i <= a; i++)
		{
			for (j = 0; j <= b; j++)
			{
				nn = n - i - j;
				tt = t - p * i - q * j;
				if (nn < 0 || tt < 0)
					break;
				k = tt / r;
				l = 0;
				if (k > c)
					k = c;
				l = n - i - j - k;
				if (k<0 || l<0 || k>c || l>d)
					continue;
				if (p * i + q * j + r * k + s * l != t)
					continue;
				printf("%lld %lld %lld %lld\n", i, j, k, l);
				return 0;
			}
		}
	}
	return 0;
}
0