Submission #139708

# Submission time Handle Problem Language Result Execution time Memory
139708 2019-08-01T09:38:37 Z almogwald Werewolf (IOI18_werewolf) C++14
15 / 100
4000 ms 31760 KB
#include <utility>
#include <algorithm>
#include <math.h>
#include <vector>
#include <set>
#include <iostream>

#include "werewolf.h"
#define fori(i,n) for(int i=0;i<n;i++)
#define forn(i,n) for(int i=1;i<n;i++)
#define forib(i,n) for(int i=n-1;i>=0;i--)
#define fornb(i,n) for(int i=n-1;i>0;i--)
#define maxl 10000000000
#define con continue;
typedef long long lol;
using namespace std;
typedef vector<int> veci;
typedef pair<lol,lol> point;
lol sum=0;

#define k 500
veci check_validity(int n, veci X, veci Y,veci S, veci E,veci L,veci R) {
	vector<vector<int>> cons(n);
	int Q = S.size();
	veci A(Q);
	fori(i,X.size()){
		cons[X[i]].push_back(Y[i]);
		cons[Y[i]].push_back(X[i]);
	}
	fori(p,Q) {
		veci vist1(n);
		veci vist2(n);
		veci dfs;
		dfs.push_back(S[p]);
		while(!dfs.empty()){
			int cur = dfs.back();
			dfs.pop_back();
			if(cur<L[p]||vist1[cur]){
				con
			}
			vist1[cur]=1;
			fori(i,cons[cur].size()){
				dfs.push_back(cons[cur][i]);
			}
		}
		dfs.push_back(E[p]);
		while(!dfs.empty()){
			int cur = dfs.back();
			dfs.pop_back();
			if(cur>R[p]||vist2[cur]){
				con
			}
			vist2[cur]=1;
			fori(i,cons[cur].size()){
				dfs.push_back(cons[cur][i]);
			}
		}
		fori(i,n){
			if(vist1[i]*vist2[i]){
				A[p]=1;
			}
		}
	}
	return A;
}

Compilation message

werewolf.cpp: In function 'veci check_validity(int, veci, veci, veci, veci, veci, veci)':
werewolf.cpp:9:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fori(i,n) for(int i=0;i<n;i++)
werewolf.cpp:26:7:
  fori(i,X.size()){
       ~~~~~~~~~~                
werewolf.cpp:26:2: note: in expansion of macro 'fori'
  fori(i,X.size()){
  ^~~~
werewolf.cpp:9:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fori(i,n) for(int i=0;i<n;i++)
werewolf.cpp:42:9:
    fori(i,cons[cur].size()){
         ~~~~~~~~~~~~~~~~~~      
werewolf.cpp:42:4: note: in expansion of macro 'fori'
    fori(i,cons[cur].size()){
    ^~~~
werewolf.cpp:9:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fori(i,n) for(int i=0;i<n;i++)
werewolf.cpp:54:9:
    fori(i,cons[cur].size()){
         ~~~~~~~~~~~~~~~~~~      
werewolf.cpp:54:4: note: in expansion of macro 'fori'
    fori(i,cons[cur].size()){
    ^~~~
werewolf.cpp:59:15: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
    if(vist1[i]*vist2[i]){
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
4 Correct 3 ms 364 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 3 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 3 ms 256 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
4 Correct 3 ms 364 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 3 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 3 ms 256 KB Output is correct
10 Correct 311 ms 828 KB Output is correct
11 Correct 193 ms 804 KB Output is correct
12 Correct 33 ms 824 KB Output is correct
13 Correct 340 ms 836 KB Output is correct
14 Correct 231 ms 804 KB Output is correct
15 Correct 277 ms 1016 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 4089 ms 31760 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 3 ms 376 KB Output is correct
4 Correct 3 ms 364 KB Output is correct
5 Correct 2 ms 256 KB Output is correct
6 Correct 3 ms 256 KB Output is correct
7 Correct 2 ms 376 KB Output is correct
8 Correct 3 ms 376 KB Output is correct
9 Correct 3 ms 256 KB Output is correct
10 Correct 311 ms 828 KB Output is correct
11 Correct 193 ms 804 KB Output is correct
12 Correct 33 ms 824 KB Output is correct
13 Correct 340 ms 836 KB Output is correct
14 Correct 231 ms 804 KB Output is correct
15 Correct 277 ms 1016 KB Output is correct
16 Execution timed out 4089 ms 31760 KB Time limit exceeded
17 Halted 0 ms 0 KB -