第五周训练总结

这周最令我印象深刻的是一道本来不难但迟迟做不对的一题。

这道题能让其中一个数字加一,另一个减一,因此总数不变,于是我们准备从总数入手。
很容易发现只要让总数能够分配出相同的数字,如24=6+6+6+6,并且分配出来的份数大于题目给的数组长度,便满足题意。
但由于忘记考虑特殊情况:数组长度为1,导致我们小组交了十几遍都没过,算是粗心的代价了-_-
ac代码如下:

include <bits/sdc++.h>

using namespace std;
 
void solve() {

int n;
    cin >> n;
    int num=0 , maxx=0;
    vector v(n+10);
    for(int i=1;i<=n;i++) cin >> v[i] , num+=v[i] , maxx=max(maxx,v[i]);
    if(n1) {
        cout << 1 << endl;
        return ;
    }
    int ans=0;
    for(int i=1;i<=maxx;i++) {
        if(num%i
0 && num/i>=n) ans++;
    }
    cout << ans << endl;
}
 
signed main() {
    int T = 1;
//    cin >> T ;
    while(T--) solve();
    return 0;
}
不过当我和队友讨论时的那种层层推进的感觉确实很不错,也许这也是acm的魅力吧。
虽然训练马上要结束了,但是今后在学校也要继续努力训练啊。

posted @   wh1tee  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示