제출 #31875

#제출 시각아이디문제언어결과실행 시간메모리
31875YoLoBrunhilda’s Birthday (BOI13_brunhilda)C++14
57.14 / 100
616 ms158656 KiB
#include<bits/stdc++.h>
using namespace std;
int n, m, a[100009], j, num[20000009], nex, cur, t = 1, ans[20000009];
signed main()
{
	scanf("%d %d",&n,&m);
	for(int i = 1; i <= n; i++)
		scanf("%d",&a[i]);
	for(int i = 1; i <= n; i++)
	{
		j = 0;
		while(j <= 10000000)
		{
			num[j] = max(num[j], a[i]);
			j += a[i];
		}
	}
	num[1] = num[0];
	ans[1] = 1;
	for(int i = 2; i <= 10000000; i++)
	{
		while(i >= num[cur] + cur && cur < i)
		{
			cur ++;
		}
		if(cur == i)
			break;
		ans[i] = ans[cur] + 1;
	}
	while(m --)
	{
		int k;
		cin >> k;
		if(ans[k] > 0)
			printf("%d\n",ans[k]);
		else
			printf("oo\n");
	}
}

컴파일 시 표준 에러 (stderr) 메시지

brunhilda.cpp: In function 'int main()':
brunhilda.cpp:6:22: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&m);
                      ^
brunhilda.cpp:8:20: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);
                    ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...