Buscar

1711B

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int main(){
	int t;
	cin >> t;
	while(t--){
		int n,m;
		cin >> n >> m;
		int arr[n];
		
		for(int i=0;i<n;i++){
			cin >> arr[i];
		}
		vector<pair<int,int> > f(m);
		map<int,int> mp;
		for(int i=0;i<m;i++){
			cin >> f[i].first >> f[i].second;	
			mp[f[i].first]++;
			mp[f[i].second]++;
		}
		vector<pair<int,pair<int,int> > > v(m);
		if(m % 2 == 0){
			cout << 0 << endl;
			continue;
		}
		int ans = 1e9;
		for(int i=0;i<m;i++){
			if(mp[f[i].first] % 2){
				ans = min(ans,arr[f[i].first-1]);
			}
			if(mp[f[i].second] % 2){
				ans = min(ans,arr[f[i].second-1]);
			}
			if((mp[f[i].first] + mp[f[i].second] - 1) % 2 == 1){
				ans = min(ans,arr[f[i].first-1] + arr[f[i].second-1]);		
			}	
		}
		if(ans == 1e9){
			cout << 0 << endl;
		}else
			cout << ans << endl;
	}
		
	return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando