Wrong Answer
Code
#include<bits/stdc++.h>
using namespace std;
const int mode=1e9+7;
int main()
{
int t;
cin>>t;
while(t--){
int a;
cin>>a;
vector<int>v;
int sum1=0;
for(int i=1;i<=a;i++){
int x;
cin>>x;
sum1+=x;
v.push_back(x);
}
vector<vector<int>>res;
res.push_back({});
for(int i=0;i<a;i++){
int sz=res.size();
for(int j=0;j<sz;j++){
vector<int> ans=res[j];
ans.push_back(v[i]);
res.push_back(ans);
}
}
vector<int>ans;
map<int,int>cnt;
for(int i=2;i<=a;i++){
vector<int>v1;
for(auto u:res){
if(u.size()==i){
int gcd=0;
for(auto g:u){
gcd=__gcd(gcd,g);
}
v1.push_back(gcd);
}
}
if(!v1.empty()){
int sum=0;
for(auto u:v1) sum+=u;
ans.push_back(sum);
}
}
sum1%=mode;
for(auto u:ans){
sum1=((sum1%mode)*(u%mode))%mode;
}
cout<<sum1<<endl;
}
}
Information
- Submit By
- Type
- Submission
- Problem
- P1105 Ohh that gcd again
- Contest
- LUCC Presents Intra LU Junior Programming Contest - Replay
- Language
- C++17 (G++ 13.2.0)
- Submit At
- 2025-09-02 17:13:14
- Judged At
- 2025-09-02 17:13:14
- Judged By
- Score
- 10
- Total Time
- 46ms
- Peak Memory
- 536.0 KiB