#include<bits/stdc++.h> usingnamespace std; #define int long long #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); constint N=2e5+5; int a[N]; voidsolve() { int n,k; cin>>n>>k; for(int i=1;i<=n;i++) { cin>>a[i]; } a[0]=k; int ans=-2e7; for(int i=0;i<=n;i++) { int last=(i+n)%(n+1); int sum=a[i]+a[last]; ans=max(sum,ans); } cout<<ans<<endl; } signedmain(){ IOS int t; cin>>t; //int t=1; while(t--) { solve(); } }
G Digital Folding
思路: 数字折叠,先写一下数字翻转的写法,不建议用 string 的 reverse ()。拿个循环写就可以,每次取出最后一位,每次乘十也可以去除前导零。 然后就是考虑怎么找到最大的数字:可以先把右边的 r 翻转一下,然后考虑把 r 的最右侧位置都一一换成 9,要保证这个数字比 l 大。 刚开始的 r 肯定得比 10 大,不然翻不翻转没啥意义。 代码:
#include<bits/stdc++.h> usingnamespace std; #define int long long #define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int a[]={1,10,5,10,5,2,5,10,5,10}; voidsolve() { int n; cin>>n; int t=n%10; cout<<a[t]; } signedmain(){ IOS //int t; //cin>>t; int t=1; while(t--) { solve(); } }
标题: 2026牛客寒假算法基础集训营1(B C E G K L)
作者: Lionlnuc
创建于
: 2026-02-02 00:00:00
更新于
: 2026-02-02 00:00:00
链接: https://lionlnuc.github.io/2026/02/02/2026牛客寒假算法基础集训营1(B C E G K L)/