蓝桥杯真题

AcWing 2875. 超级胶水

题目链接
https://www.acwing.com/problem/content/2878/

解析
本题的关键在于证明使用的胶水数量与粘贴顺序无关。可以设abc模拟一下三个的情况,设abcd模拟一下四个的情况。
Ac代码

点击查看代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

typedef long long ll;

const int N = 1e5 + 10;

int n;
ll a[N], s[N];

int main()
{
    scanf("%d", &n);
    for(int i = 1; i <= n; i ++) {
        scanf("%lld", &a[i]);
        s[i] = a[i] + s[i - 1];
    }
    ll ans = 0;
    for(int i = 1; i <= n; i ++) ans += s[i - 1] * a[i];
    printf("%lld\n", ans);
    
    return 0;
}
posted @ 2022-03-15 15:55  小菜珠的成长之路  阅读(43)  评论(0)    收藏  举报