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 }