这个题,第一反应一定是三个for嵌套加一个max比较.

超级无敌大暴搜

#include <iostream>
#include <string>
#include <string.h>
using namespace std;
long MAX=;
int main(){
long m[+]; int n,K;
cin>>n>>K;
for (int i = ; i < n; ++i) {
cin>>m[i]; }
for (int j = ; j < n; ++j) {
for (int i = j + ; i < n; ++i) {
for (int k = i + ; k < n; ++k) {
if ((m[j]+m[k]+m[i])%K== && (MAX<m[j]+m[i]+m[k]) ){ MAX=m[j]+m[i]+m[k];
} } } }
cout<<MAX; }
/*
*这是官方题解,但是我觉得有点问题,我会再改一下的
*/ #include <iostream>
#include <string>
#include <string.h>
#include <vector>
using namespace std;
int n,K;
long MAX=;
int x;
void work(){
cin>>n>>K; vector<vector<int>> group(K,vector<int>()); int re;
for (int i = ; i < n; ++i) {
cin>>x;
re=x%K;
//cout<<re<<endl;
if(x>group[re][]){//初始值均为0,所以没有问题
group[re][]=group[re][];
group[re][]=group[re][];
group[re][]=x;
}
else if(x>group[re][]){
group[re][]=group[re][];
group[re][]=x; } else
group[re][]=x;
//cout<<re<<":"<<group[re][0]<<" "<<group[re][1]<<" "<<group[re][2]<<endl;
} long v1,v2,v3;
for (int j = ; j < K; ++j) {
for (int i = j; i < K; ++i) {
if(group[j][]==)
continue;
int kk=(K-i+K-j)%K;
v1=group[j][];
//cout<<"v1分别是"<<v1<<endl;
if(i==j) {
// if(!group[i][1])
// continue;
v2 = group[i][];
if(j==kk) {
// if(!group[j][2])
// continue;
v3 = group[j][];
}
else {
// if(!group[kk][0])
// continue; v3 = group[kk][];
}
}
else{
// if(!group[i][0])
// continue;
v2=group[i][];
if(j==kk){
// if(!group[j][1])
// continue;
v3=group[j][];
} else if(i==kk) { v3 = group[kk][];
} else { v3 = group[kk][];
} }
if(v1+v2+v3>MAX)
//cout<<v1<<" "<<v2<<" "<<v3<<endl;
MAX=v1+v2+v3;
//cout<<MAX; }
}
cout<<MAX;
}
int main(){
work();
return ; }

LQB2018A09倍数问题的更多相关文章

  1. [转]倍数提高工作效率的 Android Studio 奇技

    转自:http://android.jobbole.com/81687/ 倍数提高工作效率的 Android Studio 奇技 2015/10/08 · 技术分享 · 4 评论· Android S ...

  2. 51nod 1109 01组成的N的倍数

    用01 组成 N的最小倍数 这个BFS搜索就好. 类似这道:  ZOJ Problem Set - 1530 每次 要么是0 要么是1, 记入余数,和前驱. #include<bits/stdc ...

  3. Python练习题 029:Project Euler 001:3和5的倍数

    开始做 Project Euler 的练习题.网站上总共有565题,真是个大题库啊! # Project Euler, Problem 1: Multiples of 3 and 5 # If we ...

  4. Codeforces Round #276 (Div. 1) B. Maximum Value 筛倍数

    B. Maximum Value Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/484/prob ...

  5. Oracle PL/SQL 找出100以内是3和5的倍数的数 循环语句

    循环: loop --执行代码 exit when 表达式;--当表达式为真退出循环.(注意,其编写位置决定循环为先判断还是先执行,相当于java的while或do-while) end loop; ...

  6. 用if else 判断是不是7的倍数等

    static void Main(string[] args)        {            while (true)            {                int b; ...

  7. NYOJ--517--最小公倍数(大数打表)

    最小公倍数 时间限制:1000 ms  |  内存限制:65535 KB 难度:3   描述 为什么1小时有60分钟,而不是100分钟呢?这是历史上的习惯导致. 但也并非纯粹的偶然:60是个优秀的数字 ...

  8. 百度之星2017初赛A轮 1001 小C的倍数问题

    小C的倍数问题 Accepts: 1990 Submissions: 4931 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/3 ...

  9. 51nod 1103 N的倍数 思路:抽屉原理+前缀和

    题目: 这是一道很神奇的题目,做法非常巧妙.巧妙在题目要求n个数字,而且正好要求和为n的倍数. 思路:用sum[i]表示前i个数字的和%n.得到sum[ 1-N ]共N个数字. N个数字对N取模,每个 ...

随机推荐

  1. P2114 [NOI2014]起床困难综合症【二进制运算+优化】

    起床困难综合症[二进制运算+优化] 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作斗争.通过 ...

  2. Js中各种类型的变量在if条件中是true还是false

    如果操作数是一个对象,返回true如果操作数是一个空字符串,返回false如果操作数是一个非空字符串,返回true如果操作数是数值0,返回false如果操作数是任意非0数值(包括Infinity),返 ...

  3. (私人收藏)React教程手册

    React教程手册 https://pan.baidu.com/s/1ka2PJ54HgqJ8lC6XgbvdLg pedx React 教程 含有3个附件,如下: react.js react-do ...

  4. JavaScript之DOM的增删改查

    JavaScript的组成: 1. ECMAScript-语法规范 2. Web APIs(浏览器提供的工具) (1).BOM (浏览器对象模型) (2).DOM (文档对象模型) 今天就来讲讲DOM ...

  5. vue.js之常操作(实例)

    听说大家都开始用react.vue这些MVVM框架了,为了不落后,还是学学吧!(之前只对angular了解一点,时间一长,也忘得差不多了,所以学习vue相当于从小白开始) 从vue.js官网看一下,先 ...

  6. HDU 2236 无题Ⅱ

    HDU 2236 无题Ⅱ 题目大意 这是一个简单的游戏,在一个\(n*n\)的矩阵中,找n个数使得这n个数都在不同的行和列里并且要求这n个数中的最大值和最小值的差值最小. solution 暴枚\(i ...

  7. Instrction Arrangement UDH 4109 拓扑排序 or 最长路

    题目描述 Ali has taken the Computer Organization and Architecture course this term. He learned that ther ...

  8. 分享一个集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo+SkyWalking的微服务开发框架

    集成.NET Core+Swagger+Consul+Polly+Ocelot+IdentityServer4+Exceptionless+Apollo的微服务开发框架 Github源代码地址 htt ...

  9. mysql中给查询结果添加序号

    当我们想为查询结果添加序号的时候可以这样写 SELECT @rowid:=@rowid+1 allid, pan_number, receive_person,time_note, url,unit_ ...

  10. Java并发编程——为什么要用volatile关键字

    首发地址 https://blog.leapmie.com/archives/66ba646f/ 日常编程中出现 volatile 关键字的频率并不高,大家可能对 volatile 关键字比较陌生,再 ...