码迷,mamicode.com
首页 > 其他好文 > 详细

Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2)C

时间:2018-11-11 23:23:22      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:for   rate   amp   using   scan   can   ++   math   name   

这题卡了还蛮久的,矩阵还是有一点陌生啊。

 1 #include <iomanip>
 2 #include <iostream>
 3 #include <cstdio>
 4 #include <cmath>
 5 #include <cstring>
 6 #include <algorithm>
 7 #include <queue>
 8 #include <stack>
 9 #include <vector>
10 #include <map>
11 using namespace std;
12 const int nmax=2020;
13 long long a[nmax],b[nmax],prea[nmax],preb[nmax],lena[nmax],lenb[nmax];
14 int main(int argc, char *argv[])
15 {
16     long long n,m,x;
17     scanf("%I64d%I64d",&n,&m);
18     for(int i=1;i<=n;i++)
19     {
20         scanf("%I64d",&a[i]);
21         prea[i]=prea[i-1]+a[i];
22     }
23     for(int i=1;i<=m;i++)
24     {
25         scanf("%I64d",&b[i]);
26         preb[i]=preb[i-1]+b[i];
27     }    
28     scanf("%I64d",&x);        
29     memset(lena,0x3f3f3f3f,sizeof(lena));
30     memset(lenb,0x3f3f3f3f,sizeof(lenb));
31     for(int i=0;i<n;i++)
32     {
33         for(int j=i+1;j<=n;j++)
34         {
35             lena[j-i]=min(lena[j-i],prea[j]-prea[i]);
36         }
37     }
38     for(int i=0;i<m;i++)
39     {
40         for(int j=i+1;j<=m;j++)
41         {
42             lenb[j-i]=min(lenb[j-i],preb[j]-preb[i]);
43         }
44     }
45     long long sum=0;
46     for(int i=1;i<=n;i++)
47     {
48         for(int j=1;j<=m;j++)
49         {
50             if(lena[i]*lenb[j]<=x&&i*j>sum)
51             sum=i*j;
52         }
53     }
54     printf("%I64d",sum);
55     return 0;
56 }

 

Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2)C

标签:for   rate   amp   using   scan   can   ++   math   name   

原文地址:https://www.cnblogs.com/huluxin/p/9943520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!