前言:第一次打\(CF\),因为经验不足以及英语水平很烂,即便在机房大佬的带领下也是花了好久才读懂题目。。\(A\)题直到\(11\)分钟才\(A\),太菜了。。题目一共做了\(4\)题,所以这里只说这\(4\)题。
A. Heist
Description
有\(n\)个正整数,设最小的数为\(minn\),最大的数为\(maxn\),求\(minn\sim maxn\)的正整数连续区间里有多少数不属于这\(n\)个正整数。
My Solution
显然答案就是\(maxn-minn-n+1\)
#include<cstdio>
using namespace std;
inline int re()
{
int x = 0;
char c = getchar();
bool p = 0;
for (; c < '0' || c > '9'; c = getchar())
p |= c == '-';
for (; c >= '0' && c <= '9'; c = getchar())
x = x * 10 + c - '0';
return p ? -x : x;
}
inline int maxn(int x, int y)
{
return x > y ? x : y;
}
inline int minn(int x, int y)
{
return x < y ? x : y;
}
int main()
{
int i, n, mi = 1e9, ma = 0, x;
n = re();
for (i = 1; i <= n; i++)
{
x = re();
mi = minn(mi, x);
ma = maxn(ma, x);
}
printf("%d", ma - mi + 1 - n);
return 0;
}
睡觉去,剩下的明天补。