http://oj.nbdp.net/contest.php?cid=1321
Rank
T1
暴力枚举拳王,对当前拳手i,看能连续打败几人[i+1…n][1…i-1]
若 打败人数>=k 输出
另外 由于 k<=10^12 所以当打败人数=n-1 也就是a[i]最大时
也输出
这么水的题我竟WA 对了80%
var
a:array[1..1000]of longint;
n,i,j,tot:longint;k:int64;
begin
readln(n,k);
for i:=1 to n do
read(a[i]);
for i:=1 to n do
begin
tot:=0;
j:=i+1;
while j<>i do
begin
if a[j]<a[i] then inc(tot)
else break;
inc(j);
if j>n then j:=1;
end;
if (tot=n-1)or(tot>=k)
then
begin
writeln(a[i]);
halt;
end;
end;
end.
T2
max{max{a[i].l}-min{b[i].r},max{b[i].l}-min{a[i].r}};
注意考虑负数
#include <bits/stdc++.h>
using namespace std;
struct Time
{
int l;int r;
}a[200010],b[200010];
bool cmp1(struct Time a,struct Time b)
{
return a