Submission #1204547

#TimeUsernameProblemLanguageResultExecution timeMemory
1204547PlayVoltzBitaro’s Party (JOI18_bitaro)C++20
Compilation error
0 ms0 KiB
#include <cstdio>
#include <stdio.h>
#include <stdbool.h>
#include <iostream>
#include <map>
#include <vector>
#include <climits>
#include <stack>
#include <string>
#include <queue>
#include <algorithm>
#include <set>
#include <unordered_set>
#include <unordered_map>
#include <cmath>
#include <cctype>
#include <bitset>
#include <iomanip>
#include <cstring>
#include <numeric>
#include <cassert>
using namespace std;

//#define int long long
#define pii pair<int, int>
#define mp make_pair
#define pb push_back
#define fi first
#define se second

vector<bool> visited;
vector<int> done, dist;
vector<vector<int> > graph, freq;

int dfs(int node, int t){
	if (visited[node])return dist[node];
	dist[node]=0;
	if (done[node]==t)dist[node]=INT_MIN/2;
	visited[node]=1;
	for (auto num:graph[node])dist[node]=max(dist[node], dfs(num, t)+1);
	return dist[node];
}

int32_t main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	int n, m, q, a, b;
	cin>>n>>m>>q;
	visited.resize(n+1, 0);
	graph.resize(n+1);
	freq.resize(n+1);
	dist.resize(n+1);
	done.resize(n+1, 0);
	vector<vector<pii> > dp(n+1);
	while (m--){
		cin>>a>>b;
		graph[b].pb(a);
	}
	for (int i=1; i<=n; ++i){
		int mx=0;
		for (auto num:graph[i])for (auto c:dp[num]){
			mx=max(mx, c.se+1);
			freq[c.se+1].clear();
			if (visited[c.fi])dist[c.fi]=max(dist[c.fi], c.se+1);
			else visited[c.fi]=1, dist[c.fi]=c.se+1;
		}
		for (auto num:graph[i])for (auto c:dp[num])if (visited[c.fi])visited[c.fi]=0, freq[dist[c.fi]].pb(c.fi);
		freq[0].clear();
		freq[0].pb(i);
		for (int d=mx; d>=0&&dp[i].size()*dp[i].size()<n; --d)for (auto c:freq[d]){
			dp[i].pb(mp(c, d));
			if (dp[i].size()*dp[i].size()>=n)break;
		}
	}
	for (int t=1; t<=q; ++t){
		cin>>a>>b;
		vector<int> vect(b);
		for (int i=0; i<b; ++i)cin>>vect[i], done[vect[i]]=t;
		if (vect.size()>=dp[a].size()){
			visited.assign(n+1, 0);
			cout<<max(-1ll, dfs(a, t))<<"\n";
		}
		else for (auto c:dp[a])if (done[c.fi]!=t){
			cout<<c.se<<"\n";
			break;
		}
	}
}

Compilation message (stderr)

bitaro.cpp: In function 'int32_t main()':
bitaro.cpp:82:34: error: no matching function for call to 'max(long long int, int)'
   82 |                         cout<<max(-1ll, dfs(a, t))<<"\n";
      |                               ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from bitaro.cpp:4:
/usr/include/c++/11/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
bitaro.cpp:82:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   82 |                         cout<<max(-1ll, dfs(a, t))<<"\n";
      |                               ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/ios:40,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from bitaro.cpp:4:
/usr/include/c++/11/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
bitaro.cpp:82:34: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   82 |                         cout<<max(-1ll, dfs(a, t))<<"\n";
      |                               ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from bitaro.cpp:4:
/usr/include/c++/11/bits/stl_algo.h:3461:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3461 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3461:5: note:   template argument deduction/substitution failed:
bitaro.cpp:82:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   82 |                         cout<<max(-1ll, dfs(a, t))<<"\n";
      |                               ~~~^~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/11/string:52,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/ostream:38,
                 from /usr/include/c++/11/iostream:39,
                 from bitaro.cpp:4:
/usr/include/c++/11/bits/stl_algo.h:3467:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3467 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/11/bits/stl_algo.h:3467:5: note:   template argument deduction/substitution failed:
bitaro.cpp:82:34: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   82 |                         cout<<max(-1ll, dfs(a, t))<<"\n";
      |                               ~~~^~~~~~~~~~~~~~~~~