Sponsors

Codeforces Round #408 (Div. 2), problem: (C) Bank Hacking Solution in C

#include <limits.h>
#include <stdio.h>
#include <stdlib.h>

#define N 300000

struct E {
int i, j, a;
} ee[N * 2];

int aa[N], ii[N];

int compare1(const void *a, const void *b) {
int *ia = (int *) a;
int *ib = (int *) b;
int i = *ia;
int j = *ib;

return aa[j] != aa[i] ? aa[j] – aa[i] : i – j;
}

int compare2(const void *a, const void *b) {
struct E *pa = (struct E *) a;
struct E *pb = (struct E *) b;

return pa->i != pb->i ? pa->i – pb->i
: (pa->a != pb->a ? pb->a – pa->a : pa->j – pb->j);
}

int main() {
int n, m, g, h, i, j, min, max;

scanf(“%d”, &n);
for (i = 0; i < n; i++) {
scanf(“%d”, &aa[i]);
ii[i] = i;
}
if (n == 1) {
printf(“%d\n”, aa[0]);
return 0;
}
qsort(ii, n, sizeof *ii, compare1);
for (h = 0; h < n – 1; h++) {
struct E *e0, *e1;

scanf(“%d%d”, &i, &j);
i–, j–;
e0 = &ee[h * 2 + 0];
e1 = &ee[h * 2 + 1];
e0->i = i, e0->j = j, e0->a = aa[j];
e1->i = j, e1->j = i, e1->a = aa[i];
}
m = (n – 1) * 2;
qsort(ee, m, sizeof *ee, compare2);
min = INT_MAX;
for (h = 0, i = 0; h < m; i++) {
max = aa[i];
g = h;
j = 0;
while (g < m && ee[g].i == i) {
if (max < aa[ee[g].j] + 1)
max = aa[ee[g].j] + 1;
while (j < n && (ii[j] == ee[g].j || ii[j] == i))
j++;
g++;
}
if (j < n && max < aa[ii[j]] + 2)
max = aa[ii[j]] + 2;
if (min > max)
min = max;
h = g;
}
printf(“%d\n”, min);
return 0;
}

‘This is immoral’: Public...

Public Health Experts Decry "Immoral" Funding Cuts to NIH...

Putin sticks to Russian...

Putin Reaffirms Unyielding Stance on Ukraine Peace Terms In a...

The Hobby Awards: Complete...

The Votes Are In: A Complete Recap of The...

Do possums need water?

Do Possums Need Water? Understanding the Hydration Requirements of...

Major Disney World rival...

A Major Disney World Rival Is Demolishing Two Iconic...

Introducing Apache Spark upgrade...

AWS Simplifies Big Data Migration with Apache Spark Upgrade...

‘This is immoral’: Public Health experts respond to funding cuts to science & medicine

Public Health Experts Decry "Immoral" Funding Cuts to NIH and Science The scientific community is voicing alarm following significant funding cuts targeting key medical research...

Putin sticks to Russian demands on Ukraine, says EU robbery failed

Putin Reaffirms Unyielding Stance on Ukraine Peace Terms In a recent statement that eliminated any immediate hope for a softened diplomatic approach, Russian President Vladimir...

The Hobby Awards: Complete Winners List and Recap

The Votes Are In: A Complete Recap of The Hobby Awards Winners The collectible industry, often referred to simply as "The Hobby," achieved a major...

Do possums need water?

Do Possums Need Water? Understanding the Hydration Requirements of Marsupials It’s a question many wildlife enthusiasts and homeowners ponder: Do possums need water to survive?...

Major Disney World rival is demolishing two iconic theme park rides

A Major Disney World Rival Is Demolishing Two Iconic Theme Park Rides The landscape of American amusement parks is defined by constant evolution, intense rivalry,...

Introducing Apache Spark upgrade agent for Amazon EMR

AWS Simplifies Big Data Migration with Apache Spark Upgrade Agent for EMR Amazon Web Services (AWS) has rolled out a crucial new tool for big...

In an act of boycott, Malaysia makes its own ‘McDonald’s’

Malaysia’s Consumer Boycott Fuels the Rise of Home-Grown Fast Food Alternatives A significant shift is reshaping the Malaysian quick-service restaurant (QSR) landscape. Driven by widespread...

Couples on N70,000 minimum wage can’t afford fertility treatment — Specialists

The Price of Parenthood: Why N70,000 Minimum Wage Couples Can't Afford Fertility Treatment in Nigeria The dream of starting a family is facing an insurmountable...

Fobi AI Announces Partial Revocation Order and Non-Brokered Private Placement

Fobi AI Secures Partial Revocation Order, Launches Strategic Private Placement VANCOUVER, BC – Fobi AI Inc. (TSXV: FOBI) (Pink: FOBIF), a leading provider of real-time...