2017浙江工业大学-校赛决赛 竹之书

Description

由于某些原因菲莉丝拿到了贤者之石,所以好像变得很厉害了
好像变得很厉害的菲莉丝想要炼成幻想乡,其中有一个原料是稗田一族对幻想乡历史的记录。现在菲莉丝拿到了一个被某只魔粘性精神体加密过的的卷轴。
密文通过原文和一个正整数key加密形成,而key和密文又有一定关联。
现给出密文,求key值

已知密文s和key值关系如下
已知密文s是一串正整数s1,s2,s3……sn,A为s中所有元素的和,B为s中所有元素的积,key为B mod A

数据范围
si,A在(0,1e17]范围内
0<n<=100000

Input

第一行T表示数据组数
接下来每组第一行一个n,代表s的长度
接下来n行,每行一个正整数si

Output

每组一行,key值

Sample Input

2
4
1
2
3
4
6
5
6
7
8
9
9

Sample Output

4
32
解法:按照题意来,你会发现居然能过
复制代码
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int t;
 4 unsigned long long Mod(unsigned long long x,unsigned long long a,unsigned long long mod){
 5     unsigned long long ans=0;
 6     ans%=mod;
 7     while(a){
 8         if(a&1){
 9             ans=(ans+x)%mod;
10         }
11         ans%=mod;
12         a>>=1;
13         x=(x<<1)%mod;
14     }
15     return ans;
16 }
17 unsigned long long a[123456];
18 int main(){
19     scanf("%d",&t);
20     while(t--){
21         unsigned long long sum=0;
22         int n;
23         scanf("%d",&n);
24         for(int i=1;i<=n;i++){
25             scanf("%llud",&a[i]);
26             sum+=a[i];
27         }
28         unsigned long long ans=1;
29         for(int i=1;i<=n;i++){
30             ans=Mod(ans,a[i],sum);
31             ans%=sum;
32         }
33         cout<<ans<<endl;
34     }
35     return 0;
36 }
复制代码

 

posted @   樱花落舞  阅读(198)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示