P1982小朋友数字
分类:美高梅游戏官网网站

输入输出格式

输入格式:

 

输入文件为 number.in。

先是行富含多个正整数 n、p,之间用一个空格隔离。

其次行李包裹括 n 个数,每七个整数之间用贰个空格隔开分离,表示各种娃娃手上的数字。

 

出口格式:

 

出口文件名称为 number.out。

输出独有大器晚成行,满含一个卡尺头,表示最大分数对 p 取模的结果。

 

P一九八四 小兄弟的数字,P1984小朋友数字

主题素材汇报

有 n 个小孩子排成一列。各个小孩手上都有三个数字,这些数字可正可负。规定每种

小孩的特征值等于排在他前头(富含她本人卡塔 尔(阿拉伯语:قطر‎的小孩子中三翻五次若干个(最少有一个卡塔 尔(阿拉伯语:قطر‎小朋

友手上的数字之和的最大值。

用作那几个孩子的教师的天资,你须求给种种孩子三个分数,分数是这么鲜明的:第三个小

相爱的人的分数是她的表征值,别的小家伙的分数为排在他后面包车型大巴全部孩子中(不包罗她本人卡塔尔国,

小朋友分数加上其特征值的最大值。

请总计有所小孩分数的最大值,输出时保持最大值的标识,将其相对值对 p 取模后

输出。

说明

Case 1:

小家伙的特征值分别为 1、3、6、10、15,分数分别为 1、2、5、11、21,最大值 21

对 997 的模是 21。

Case 2:

幼童的特征值分别为-1、-1、-1、-1、-1,分数分别为-1、-2、-2、-2、-2,最大值

-1 对 7 的模为-1,输出-1。

对于 四分之二的数量,1 ≤ n ≤ 1,000,1 ≤ p ≤ 1,000全部数字的绝对值不超过1000;

对此 百分百的多寡,1 ≤ n ≤ 1,000,000,1 ≤ p ≤ 10^9,别的数字的相对值均不超过 10^9

 

 

我们用dptz表示特征的最大值。

用dpfs表示分数的最大值

 

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<cmath>
 5 #include<queue>
 6 #include<algorithm>
 7 #define lli long long int 
 8 using namespace std;
 9 const lli MAXN=1000001;
10 void read(lli &n)
11 {
12     char c='+';lli x=0,flag=1;
13     while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=-1;}
14     while(c>='0'&&c<='9'){x=x*10+c-48;c=getchar();}
15     n=x*flag;
16 }
17 lli n,mod;
18 lli dptz[MAXN];
19 lli dpfs[MAXN];
20 lli a[MAXN];
21 lli now=0;// 当前最大字段和 
22 lli ans=-1270000;
23 int main()
24 {
25     read(n);read(mod);
26     for(lli i=1;i<=n;i++)
27         read(a[i]);
28     dptz[1]=a[1];
29     for(lli i=1;i<=n;i++)
30     {
31         now+=a[i];
32         dptz[i]=now;
33         if(now<0)
34             now=0;
35     }
36     for(lli i=2;i<=n;i++)
37         dptz[i]=max(dptz[i],dptz[i-1]);
38     dpfs[1]=dptz[1];
39     dpfs[2]=dpfs[1]+dptz[1];
40     bool flag=0;
41     for(lli i=3;i<=n;i++)
42     {
43         dpfs[i]=dpfs[i-1];
44         if(dptz[i-1]>0)
45             dpfs[i]+=dptz[i-1];
46         if(dpfs[i]>dpfs[1])flag=1;
47         if(flag==1)
48             dpfs[i]=dpfs[i]%mod;
49     }
50     if(flag==1)
51         printf("%lld",dpfs[n]);
52     else 
53         printf("%lld",dpfs[1]);
54     return 0;
55 }

 

小家伙的数字,P1983小伙子数字 标题描述 有 n 个娃娃排成一列。每一个娃娃手上都有五个数字,那一个数字可正可负。规定种种小朋...

输入输出样例

输入样例#1:

5 997 
1 2 3 4 5 

输出样例#1:

21

输入样例#2:

5 7 
-1 -1 -1 -1 -1 

出口样例#2:

-1

本文由美高梅网址发布于美高梅游戏官网网站,转载请注明出处:P1982小朋友数字

上一篇:在窗口标题区添加按钮,让IE右键失效 下一篇:没有了
猜你喜欢
热门排行
精彩图文