题解:CF525C Ilya and Sticks
OIerJiang_1017 · · 题解
CF525C 题目传送门
题目大意
给定
解决思路
题目中已经说了一根木棍只能削掉
分析样例
接下来就需要进行模拟。此处给一个样例方便理解。假设排完序后所有木棍的长度如下:
发现规律
分析完样例就容易发现规律:大到小排序后,从
代码展示
#include <iostream>
#include <algorithm>
#define ll long long
//不开long long见祖宗
using namespace std;
const int N = 1e5 + 10;
ll n, f[N], a, b;
bool cmp(ll x, ll y)
{
return x > y;
}
int main()
{
scanf("%lld", &n);//建议scanf,更快
for(int i = 1; i <= n; i++)
scanf("%lld", &f[i]);
sort(f + 1, f + n + 1, cmp);
for(int i = 2; i <= n; i++)
if(f[i - 1] - f[i] <= 1)
if(a != 0)
{
b += a * f[i];
a = 0;
i++;
}
else
{
a = f[i];
i++;
}
printf("%lld\n", b);//建议printf,更快
return 0;
}