답안 #601299

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
601299 2022-07-21T15:52:56 Z patrikpavic2 Stranded Far From Home (BOI22_island) C++17
0 / 100
1000 ms 12972 KB
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <set>

#define X first
#define Y second
#define PB push_back

using namespace std;

typedef pair < int, int > pii;
typedef vector < int > vi;
typedef long long ll;

const int N = 2e5 + 500;

vector < int > v[N];
int vel[N], bio[N], n, m;
set < pii > S;

bool check(int x){
	for(int i = 1;i <= n;i++) bio[i] = 0;
	ll sm = 0; S.insert({0, x}); bio[x] = 1;
	S.clear();
	for(;(int)S.size() > 0 && S.begin() -> X <= sm;){
		int y = S.begin() -> Y;
		S.erase(S.begin());
		sm += vel[y];
		for(int z : v[y]){
			if(bio[z]) continue;
			bio[z] = 1; S.insert({vel[z], z});
		}
	}
	for(int i = 1;i <= n;i++)
		if(!bio[i]) return 0;
	return 1;
}

int main(){
	scanf("%d%d", &n, &m);
	for(int i = 1;i <= n;i++)
		scanf("%d", vel + i);
	for(int i = 0;i < m;i++){
		int a, b; scanf("%d%d", &a, &b);
		v[a].PB(b), v[b].PB(a);
	}
	for(int i = 1;i <= n;i++)
		printf("%d", check(i));
	printf("\n");
	return 0;
}

Compilation message

island.cpp: In function 'int main()':
island.cpp:42:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   42 |  scanf("%d%d", &n, &m);
      |  ~~~~~^~~~~~~~~~~~~~~~
island.cpp:44:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |   scanf("%d", vel + i);
      |   ~~~~~^~~~~~~~~~~~~~~
island.cpp:46:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |   int a, b; scanf("%d%d", &a, &b);
      |             ~~~~~^~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 4948 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 4968 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Execution timed out 1076 ms 12896 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 4948 KB Output is correct
2 Execution timed out 1087 ms 12972 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 3 ms 4948 KB Output isn't correct
2 Halted 0 ms 0 KB -