首页 > 试题广场 >

模意义下最大子序列和(Easy Version)

[编程题]模意义下最大子序列和(Easy Version)
  • 热度指数:1649 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个含有 n 个正整数的数组 a 以及一个正整数模数 m。你可以任选若干下标递增的元素构成一个子序列(允许选择空序列)。设所选元素之和为 S,求 S \bmod m最大可能值

输入描述:
\hspace{15pt}第一行输入两个整数 n,m\ (1\leqq n\leqq 15,\;1\leqq m\leqq 10^9)
\hspace{15pt}第二行输入 n 个整数 a_i\ (1\leqq a_i\leqq 10^9)


输出描述:
\hspace{15pt}输出一个整数,表示 S \bmod m 的最大值。
示例1

输入

1 1
1

输出

0

说明

可选子序列有 \varnothing(空序列)和 (1),其元素和分别为 01;取模 m=1 后结果均为 0,因此答案为 0
头像 丨阿伟丨
发表于 2025-08-29 10:35:32
题目链接 模意义下最大子序列和 题目描述 给定一个含有 () 个正整数的数组 以及一个正整数模数 ()。你可以任选若干下标递增的元素构成一个子序列(允许选择空序列)。设所选元素之和为 ,求 的最大可能值。 解题思路 这是一个求解所有子序列和模 的最大值问题。 1. 算法选择 本题的关键在于 展开全文
头像 冷艳的西红柿刷牛客
发表于 2025-10-24 09:58:34
#include <iostream> #include <algorithm> using namespace std; typedef long long ll; int n, m; ll maxVal = 0; int vis[16], a[16]; //这题和之 展开全文
头像 zime_www
发表于 2025-07-28 23:57:20
#include <bits/stdc++.h> #define fi first #define se second using namespace std; using LL = long long; constexpr int N = 2e5 + 5; int n, m; int 展开全文
头像 小胡放轻松
发表于 2025-11-25 22:02:17
#include <stdio.h> #include <stdlib.h> //dfs需要的一些全局变量 long long S = 0;//所选元素和,初始化为0 int res = 0;//最终的最大值,初始化为0 //构建自己的dfs算法 void dfs(int 展开全文
头像 niuke9999
发表于 2025-12-06 12:47:38
#include <stdio.h> int main(void) { int n; long long m, a[20]; scanf("%d%lld", &n, &m); for(int i = 0; i < 展开全文
头像 阿彪b
发表于 2025-12-13 22:29:52
#include <iostream> #include <vector> using namespace std; long long n,m,Max=0; vector<long long> a; void dfs(int index,long long su 展开全文