您的位置:首页 > 其它

ZOJ1569

2009-03-04 13:26 267 查看
n m

a1 a2 a3 a4 a5 a6 a7 a8 ...

S1 = a1

S2 = a1 + a2

S3 = a1 + a2 + a3

S4 = a1 + a2 + a3 + a4

S5 = a1 + a2 + a3 + a4 + a5

任何一段连续数和可用Sj - Si (i < j)求得

若Sj % m == Si % m,可以知道a[i] + a[i+1] + ...+ a[j]%m == 0,

即此段和可以被m除尽 (对零做特殊处理)

#include <iostream>

using namespace std;

const int MAX_SIZE = 5005;

//这里有问题,当改为5000时,提交一直是Segmentation Fault

//而照题目所言 ,m (m <= 5000).汗!

int Count[MAX_SIZE];

int n,m;

void Init()

int main()

Segmentation Fault :

1.buffer overflow --- usually caused by a pointer reference out of range.

2.stack overflow --- please keep in mind that the default stack size is 8192K.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: