Baixe o app para aproveitar ainda mais
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; }
Compartilhar