QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#855353#9623. 合成大西瓜huangceWA 2ms7680kbC++171.6kb2025-01-12 18:47:222025-01-12 18:47:33

Judging History

你现在查看的是最新测评结果

  • [2025-01-12 18:47:33]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:7680kb
  • [2025-01-12 18:47:22]
  • 提交

answer

#include<bits/stdc++.h>
#define endl '\n'
#define ll long long
#define int ll
using namespace std;
constexpr int N=1e5+7;
constexpr int M=2e3+7;
int n,m;
pair<int,int> p[N];
vector<int> g[N];
bool vis[N];
void solve()
{
	cin>>n>>m;
	for(int i=0;i<=n+5;i++) g[i].clear(),vis[i]=0;
	for(int i=1;i<=n;i++)
	{
		cin>>p[i].first;
		p[i].second=i;
	}
	sort(p+1,p+1+n);
//	cout<<endl;
//	for(int i=1;i<=n;i++)
//	{
//		cout<<p[i].first<<' '<<p[i].second<<endl;
//	}
//	return;
	for(int i=1;i<=m;i++)
	{
		int u,v;
		cin>>u>>v;
		g[u].push_back(v);
		g[v].push_back(u);
	}
	for(int i=1;i<=n;i++)
	{
		sort(g[i].begin(),g[i].end());
	}
	// 从大的往小遍历
	for(int h=n;h>=1;h--)
	{
		int i=p[h].second;
		if(vis[i]) continue;
		int len=g[i].size();
		if(len&1) // 奇数
		{
			vector<int> tmp;
			map<int,bool> mp;
			for(int j=0;j<len-1;j+=2)
			{
				vis[g[i][j]]=1;
				vis[g[i][j+1]]=1;
				tmp.push_back(g[i][j]);
				tmp.push_back(g[i][j+1]);
				mp[g[i][j]]=1;
				mp[g[i][j+1]]=1;
			}
			int tmpv=g[i].back();
			g[i].clear();
			g[i].push_back(tmpv);
			for(int j=0;j<tmp.size();j++)
			{
				int u=tmp[j];
				for(int k=0;k<g[u].size();k++)
				{
					int v=g[u][k];
					if(v==i) continue;
					if(mp[v]) continue;
					g[i].push_back(v);
				}
				g[u].clear();
			}
			if(i==3)
			{
				cout<<g[i].size()<<endl;
				for(auto v:g[i])
				{
					cout<<"v: "<<v<<endl;
				}
			}
		}
		else
		{
			cout<<p[h].first<<endl;
			return;
		}
	}
}
signed main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T=1; //cin>>T;
	while(T--){solve();}
	return 0;
}

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 7680kb

input:

7 9
1 4 1 3 3 6 7
5 4
3 6
3 4
2 3
5 2
2 6
6 7
5 1
4 6

output:

6

result:

ok single line: '6'

Test #2:

score: 0
Accepted
time: 0ms
memory: 6508kb

input:

5 7
1 5 3 1 4
3 5
1 3
5 1
1 4
5 4
2 4
3 2

output:

5

result:

ok single line: '5'

Test #3:

score: -100
Wrong Answer
time: 1ms
memory: 6384kb

input:

7 7
2 4 2 3 3 6 7
5 1
2 6
5 3
4 6
1 6
1 2
2 7

output:

3

result:

wrong answer 1st lines differ - expected: '6', found: '3'