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

2141:2333(zznuoj)

时间:2018-08-08 10:36:06      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:一点   mirror   cst   scan   pac   out   个数   inf   clu   

2141: 2333

时间限制: 1 Sec  内存限制: 128 MB
提交: 77  解决: 17
[提交] [状态] [讨论版] [命题人:admin]

题目描述

“别人总说我瓜,其实我一点也不瓜,大多数时候我都机智的一批“ 宝儿姐考察你一道很简单的题目。给你一个数字串,你能判断有多少个连续子串能整除3吗?

输入

多实例输入,以EOF结尾,每行一个数字串(长度<=1e6)

 

输出

每行一个数字串,表示能整除3的连续子串的个数

 

样例输入

2333

 

样例输出

6
 1 #include <iostream>
 2 #include <cstdio>
 3 #include <map>
 4 #include <string>
 5 #include<cstring>
 6 #include<algorithm>
 7 #include<vector>
 8 typedef long long ll;
 9 const int maxn = 1010000;
10 using namespace std;
11 int n, m,res;
12 int a[maxn];
13 int b[maxn];
14 int main()
15 {
16     int n, m;
17     while (cin >> n >> m,n!=0&&m!=0)
18     {
19         int k = 0;
20         for (int i = 0; i < n; i++)
21             scanf("%d", &a[i]);
22         for (int i = 0; i < n; i++)
23             for (int j = 0; j < n; j++)
24                 b[k++] = a[i] + a[j];
25         sort(b, b + k);
26         int Max = -1;
27         for (int i = 0; i < k; i++)
28         {
29             int temp = upper_bound(b, b + k, m - b[i]) - b;
30             if (temp - 1 < 0) continue;
31             Max = max(Max, b[i] + b[temp - 1]);
32         }
33         cout << Max << endl;
34     }
35     return 0;
36 }

 


 
 

2141:2333(zznuoj)

标签:一点   mirror   cst   scan   pac   out   个数   inf   clu   

原文地址:https://www.cnblogs.com/kangdong/p/9440967.html

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