2026 6 五级考后感
2026-06-27 20:25:27
发布于:四川
太简单了!!!!
本人估分94。
编程题两道水题目测普及-难度
T1:大意
一个老师给小朋友们发糖每个人发的都是前面所有人的和,求最多发多少个;
但n很少甚至n<=1000不用前缀和;
我的代码:
#include"bits/stdc++.h"
#define int long long
using namespace std;
signed main(){
int n;
cin>>n;
int a[1010],sum=0;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+1+n);
for(int i=n;i>=1;i--){
sum+=a[i]*i;
}
cout<<sum;
}
用long long 是怕爆int(虽然好像不会爆)属于最简单的贪心
T2大意:
有一个整形数组长度为n求其中两个互质项相加的最大值。这道题还标出来了互质就是两个数最大公约数为1n还<=1000;双层暴力循环都能过
我的
#include"bits/stdc++.h"
#define int long long
using namespace std;
signed main(){
int n;
cin>>n;int a[1001];
for(int i=1;i<=n;i++){
cin>>a[i];
}int maxn=LLONG_MIN;
for(int i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(__gcd(a[i],a[j])==1){
maxn=max(maxn,a[i]+a[j]);
}
}
}
cout<<maxn;
}
最优(ai)
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b){
return b?gcd(b,a%b):a;
}
int main(){
int n,arr[100005];
cin>>n;
for(int i=0;i<n;i++)cin>>arr[i];
sort(arr,arr+n,greater<int>());
int len=unique(arr,arr+n)-arr;
for(int i=0;i<len;i++){
for(int j=i+1;j<len;j++){
if(gcd(arr[i],arr[j])==1){
cout<<arr[i]+arr[j];
return 0;
}
}
}
return 0;
}
总结:能过就是好代码。两道题我只写了10分钟不到。一个小时提交
这里空空如也



















有帮助,赞一个