CodeForces

来源:互联网 发布:网络红歌2016火爆歌曲 编辑:程序博客网 时间:2024/06/05 04:44

题目链接:http://codeforces.com/problemset/problem/717/C

题目大意:人的懒惰值和task的难度值相同,完成task所用时间是懒惰值乘难度值,问怎么分配task所用时间最小

解题思路:肯定是找最小的去削弱最大的影响,所以排序,大的乘小的

AC代码:

#include<cstdio>#include<algorithm>using namespace std;typedef long long LL;const int MAXN = 100000 + 5;const int Mod = 10007;LL gt[MAXN];int main(){    int n;    scanf("%d", &n);    for (int i = 0;i < n;++i)        scanf("%d", gt + i);    sort(gt, gt + n);    LL ans = 0;    for (int i = 0;i < n;++i)    {        ans += gt[i] * gt[n - 1 - i] % Mod;        ans %= Mod;    }    printf("%I64d\n", ans);    return 0;}
原创粉丝点击