[JZOJ 5697] 农场

阅读: 评论:0

[JZOJ 5697] 农场

[JZOJ 5697] 农场

题目大意:将 n 个数 ai分成若干连续的段,使得每段的和都相等,求最多可以分成多少段。
思路:
考虑ai的和为sum,那么每一段的和就是约数。
对于每一个d,考虑其是否合法。
1e6之内用桶统计不会超时。

#include <bits/stdc++.h>
using namespace std;
int n;
int ans;
int sum;
int tong[1000010];
inline bool ok(int mid) {for(int i = 1;i <= sum / mid; ++i) {if(!tong[mid * i]) {return false;}}return true;
}
int main () {#ifdef ONLINE_JUDGEfreopen("farm.in","r",stdin);freopen("farm.out","w",stdout);#endifscanf("%d",&n);for(int i = 1;i <= n; ++i) {int x;scanf("%d",&x);sum += x;tong[sum] = 1;}for(int i = 1;i <= sum; ++i) {if(sum % i == 0) {if(ok(i)) {ans = i;break;}}}printf("%dn",sum / ans);return 0;
}

转载于:.html

本文发布于:2024-01-28 22:37:47,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170645267210791.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:jzoj 1276. 护花
下一篇:每日算法
标签:农场   JZOJ
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23