c++代码实现固定格式化是十分重要的。

 

我的格式是:

 

头文件

 

define定义+读入优化

 

变量名

 

函数,过程

主函数

 

代码实现中,应该先定义完变量名,整理清思路再去解题。

 

这是bzoj1639一道题目,注重格式。

 1 #include<cstring>
 2 #include<cmath>
 3 #include<algorithm>
 4 #include<cstdio>
 5 #include<iostream>
 6 
 7 #define N 100007
 8 using namespace std;
 9 inline int read()
10 {
11     int x=0,f=1;char ch=getchar();
12     while(ch>'9'||ch<'0'){if (ch=='-') f=-1;ch=getchar();}
13     while(ch<='9'&&ch>='0')
14     {
15         x=(x<<3)+(x<<1)+ch-'0';
16         ch=getchar();
17     }
18     return x*f;
19 }
20 
21 int n,m;
22 int a[N];
23 
24 bool judge(int x)
25 {
26     int num=0,now=0;
27     for (int i=1;i<=n;i++)
28     {
29         if (a[i]>x) return false;
30         if (a[i]+now>x) num++,now=a[i];
31         else now+=a[i];
32     }
33     num++;
34     if (num>m) return false;
35     else return true;
36 }
37 int main()
38 {
39     scanf("%d%d",&n,&m);
40     for (int i=1;i<=n;a[i]=read(),i++);
41     int l=0,r=1000000001;
42     while(l<r)
43     {
44         int mid=(l+r)>>1;
45         if (judge(mid)) r=mid;
46         else l=mid+1;
47     }
48     printf("%d\n",l);
49 }