蓝桥杯2022 [蓝桥杯2022初赛] 求和与纸张尺寸

求和

题目描述

给定n个整数a[1],a[2],...,a[n],求两两相乘再相加的和,即
S=a[1]·a[2]+a[1]·a[3]+...+a[1]·a[n]+a[2]·a[3]+...+a[2]·a[n]+...+a[n-1]·a[n]

输入格式

第一行为正整数n,第二行为n个整数。
30%的数据:2≤n≤1000,1≤a[i]≤100。
100%的数据:2≤n≤200000,1≤a[i]≤1000。

输出格式

输出一个数字表示答案S。

输入样例

4
1 3 6 9

输出样例

117
#include<iostream>
#include<cstdio>

using namespace std;

typedef long long ll;
const int N=200010;
int s[N];
int a[N];
int n;
int main()
{
    cin >> n;
    ll ans = 0;
    for(int i = 1; i <= n; ++ i)
    {
        scanf("%d",&a[i]);
        s[i] += s[i - 1] + a[i];
    }

    for(int i = n; i >= 1; i --)
    {
        ans += (ll) a[i] * s[i - 1];
    }
    printf("%lld",ans);

    return 0;
}

 纸张尺寸

题目描述

在ISO 国际标准中定义了A0 纸张的大小为1189mm × 841mm。
将A0 纸沿长边对折后为A1 纸,大小为841mm × 594mm。
在对折的过程中长度直接取下整(实际裁剪时可能有损耗)。
将A1 纸沿长边对折后为A2 纸,依此类推。
输入纸张的名称,请输出纸张的大小。

输入格式

扫描二维码关注公众号,回复: 14169444 查看本文章

输入一行包含一个字符串表示纸张的名称。
该名称一定是A0、A1、A2、A3、A4、A5、A6、A7、A8、A9 之一。

输出格式

输出两行,每行包含一个整数,依次表示长边和短边的长度。

输入样例 

样例1:
A0

样例2:
A1

输出样例 

样例1:
1189
841

样例2:
841
594
#include <iostream>
#include <bits/stdc++.h>
 
using namespace std;
typedef long long ll;
 
int main()
{
    string a;
    cin >> a;
 
    if(a == "A0") printf("1189\n841");
    if(a == "A1") printf("841\n594");
    if(a == "A2") printf("594\n420");
    if(a == "A3") printf("420\n297");
    if(a == "A4") printf("297\n210");
    if(a == "A5") printf("210\n148");
    if(a == "A6") printf("148\n105");
    if(a == "A7") printf("105\n74");
    if(a == "A8") printf("74\n52");
    if(a == "A9") printf("52\n37");
 
 
    return 0;
}

猜你喜欢

转载自blog.csdn.net/aasd23/article/details/124915068