Submission #1281269

#TimeUsernameProblemLanguageResultExecution timeMemory
1281269SmuggingSpunUnique Cities (JOI19_ho_t5)C++20
0 / 100
9 ms1480 KiB
#include<bits/stdc++.h>
#define taskname "E"
using namespace std;
template<class T>void maximize(T& a, T b){
	if(a < b){
		a = b;
	}
}
int n, m;
namespace sub1{
	void solve(){
		vector<vector<int>>g(n + 1);
		for(int _ = 0; _ < m; _++){
			int u, v;
			cin >> u >> v;
			g[u].push_back(v);
			g[v].push_back(u);
		}
		vector<int>c(n + 1);
		for(int i = 1; i <= n; i++){
			cin >> c[i];
		}
		for(int i = 1; i <= n; i++){
			vector<int>f(n + 1, -1), cnt(n + 1, 0);
			queue<int>q;
			q.push(i);
			f[i] = 0;
			while(!q.empty()){
				int u = q.front();
				q.pop();
				cnt[f[u]]++;
				for(int& v : g[u]){
					if(f[v] == -1){
						f[v] = f[u] + 1;
						q.push(v);
					}
				}
			}
			int ans = 0;
			for(int j = 1; j <= n; j++){
				if(j != i && f[j] != -1 && cnt[f[j]] == 1){
					maximize(ans, c[j]);
				}
			}
			cout << ans << "\n";
		}
	}
}
namespace sub2{
	void solve(){
		int u, v;
		cin >> u >> v;
		vector<int>c(n + 1);
		for(int i = 1; i <= n; i++){
			cin >> c[i];
		}
		for(int i = 1; i <= n; i++){
			if(i != u && i != v){
				cout << "0 ";
			}
			else{
				cout << c[i ^ u ^ v] << " ";
			}
		}
	}
}
int main(){
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	if(fopen(taskname".inp", "r")){
		freopen(taskname".inp", "r", stdin);
	}
	cin >> n >> m;
	if(n <= 2000){
		sub1::solve();
	}
	else if(m == 1){
		sub2::solve();
	}
}

Compilation message (stderr)

joi2019_ho_t5.cpp: In function 'int main()':
joi2019_ho_t5.cpp:70:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   70 |                 freopen(taskname".inp", "r", stdin);
      |                 ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...