QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#777002 | #9623. 合成大西瓜 | RUOHUI | WA | 1ms | 3556kb | C++20 | 1.6kb | 2024-11-23 22:10:39 | 2024-11-23 22:10:40 |
Judging History
answer
#include "bits/stdc++.h"
#define int long long
using namespace std;
#define PII pair<int, int>
const int N = 2e6 + 10, M = 2e6 + 10, mod = 998244353, inf = 1e18;
double eps = 1e-9;
int n, m;
void solve()
{
cin >> n >> m;
vector<PII> a(n + 1);
vector<PII> Max(n + 1);
for (int i = 1; i <= n; i++)
cin >> a[i].first, a[i].second = i;
if (n == 1)
{
cout << a[1].first << endl;
return;
}
vector<vector<int>> adj(n + 1);
auto work = [&](int u, int val)
{
if (val > Max[u].first)
Max[u].second = Max[u].first, Max[u].first = val;
else if (val > Max[u].second)
Max[u].second = val;
};
for (int i = 1; i <= m; i++)
{
int u, v;
cin >> u >> v;
adj[u].emplace_back(v), adj[v].emplace_back(u);
work(u, max(a[v].first, Max[v].first)), work(v, max(a[u].first, Max[u].first));
}
sort(a.begin() + 1, a.end(), greater<PII>());
auto check = [&](int v, int val)
{
if (adj[v].size() >= 2)
return true;
int u = adj[v][0];
if (val == Max[u].first)
return Max[u].second >= val;
return Max[u].first >= val;
};
for (int i = 1; i <= n; i++)
{
if (check(a[i].second, a[i].first))
{
cout << a[i].first << endl;
return;
}
}
}
signed main()
{
// freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
int T = 1;
// cin >> T;
while (T--)
solve();
// cout<<round(0.5);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 3556kb
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:
7
result:
wrong answer 1st lines differ - expected: '6', found: '7'