#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n, i, j,k,m,t,max;
cin >>max>> n;
m = pow(2, n);
int **p=NULL ;
p = new int* [m];
for (i = 0; i < m; i++)
{
p[i] = new int[n];
}
for (i = 0; i < m; i++)
{
t = i;
for (j = n - 1; j >= 0; j--)
{
p[i][j] = t % 2;
t = t / 2;
}
}
int* h;
h = new int[m];
for (i = 0; i < m; i++)
{
h[i] = 0;
}
int* f={};
f = new int[m];
for (i = 0; i < m; i++)
{
f[i] = 0;
}
int** p1;
p1 = new int* [n];
for (i = 0; i < n; i++)
{
p1[i] = new int[2];
}
for (i = 0; i < n; i++)
for (j = 0; j < 2; j++)
{
cin >> p1[i][j];
}
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
h[i] += p[i][j] * p1[j][0];
}
if (h[i] <= max)
{
for (k = 0; k < n; k++)
f[i] += p[i][k] * p1[k][0] * p1[k][1];
}
}
for (i = 0; i < m; i++)
{
if (f[0] < f[i])
f[0] = f[i];
}
cout << f[0];
delete []f;
delete []h;
delete []p1;
delete []p;
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复