求助帖!

suuannnn 2020-09-16 09:02:43
蓝桥杯k倍空间的题目。以下是我的代码:(一直得分都是28,是哪里出了问题?)
#include <stdio.h>
#include <stdlib.h>
int main()
{
int N,k,a[100001],i,s[100001],max=100000,flag[100001]={0};
scanf("%d%d",&N,&k);
int sum=0,count=0;
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
sum+=a[i];
s[i]=sum%k;
flag[s[i]]++;
if(max<s[i]) max=s[i];
}
for(i=0;i<=max;i++)
{
if(i==0) count+=flag[i]+flag[i]*(flag[i]-1)/2;
else count+=flag[i]*(flag[i]-1)/2;
}
printf("%d",count);
return 0;
}


这个一直测试不通过,我想知道原因是什么。
...全文
238 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
suuannnn 2020-09-20
  • 打赏
  • 举报
回复
flag数组的值都不是很大,应该不会超过int.但我试了一下用longlong int也还是不行。 现在这个为什么还不对啊菜鸡求教
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int N,k,i,max=100000,flag[100001]={0};
    scanf("%d%d",&N,&k);
    int sum=0,count=0;
    int *a = (int*)malloc(sizeof(int)*N);
    int *s=(int*)malloc(sizeof(int)*N);
    for(i=0;i<N;i++)
       {
           scanf("%d",&a[i]);
           sum+=a[i];
           s[i]=sum%k;
           if(max<s[i]) max=s[i];
       }
    free(a);
    for(i=0;i<N;i++) flag[s[i]]++;
    free(s);
    for(i=0;i<=max;i++)
    {
        if(i==0)  count+=flag[i]+flag[i]*(flag[i]-1)/2;
        else count+=flag[i]*(flag[i]-1)/2;
    }
    printf("%d",count);
    return 0;
}

suuannnn 2020-09-20
  • 打赏
  • 举报
回复
问题描述   给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。   你能求出数列中总共有多少个K倍区间吗? 输入格式   第一行包含两个整数N和K。(1 <= N, K <= 100000)   以下N行每行包含一个整数Ai。(1 <= Ai <= 100000) 输出格式   输出一个整数,代表K倍区间的数目。 样例输入 5 2 1 2 3 4 5 样例输出 6
lin5161678 2020-09-16
  • 打赏
  • 举报
回复
题目呢? 为了回答你的问题 难道还得去参赛?
qybao 2020-09-16
  • 打赏
  • 举报
回复
原题是什么? 看你的代码,flag相乘(和阶乘有一拼),估计结果超出int范围了
自信男孩 2020-09-16
  • 打赏
  • 举报
回复
a[100001],i,s[100001],max=100000,flag[100001]={0};

栈上的空间没那么多,楼主这一下子定义了4个数组,并且每个数组都这么大,建议楼主用动态申请空间malloc/free。
特色:
1.今晚在线社区独有的双风格分桢形式
2.社区最多可进行3级分类,大部分论坛应该够用了。
3.多种发类型: 普通、积分浏览、金钱购买、散分(求助)、 回复可见
4.更贴心得发辅助功能,可自动识别URL和图片。
5.采用类似今晚在线文章系统的后台管理等级无限级自定义分类,真正适合多用户管理。
6.UTF-8编码,解决贴繁体或国外字符乱码问题。
7.CSS控制整个社区颜色及风格。
8.版面多种可选属性,让社区变得更灵活。
v3.0 beta 4更新内容:
beta4把持久层代码彻底从逻辑层解放出来了,虽然多了一层封装,但这绝对是值得的,
对以后的扩展也很有利,这次调整几乎涉及了社区所有的类。动作较大。
注册页面增加了人性化的密码强度判断
社区子回收机制改变,增加一个字段专门记录子是否被删,以前使用的是子属性字段。
现在这个字段解放了,大家可以扩展N种类型的子。
版面增加标题检索框,社区检索支持多个关键字用空格分开的检索方式。
调整了显示层所有的JSP页面,进站画面、文章列表、在线用户已用DIV+CSS重构完毕。重构工作还在进行中....
社区求助功能实现
另外社区作了很多细节上的调整,可能表面看不出来,我也就不多说了。
源文件本人也尽可能的做了些注释,凑合着看吧!

70,021

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧