请看看代码哪里出问题了

CSDN问答 2021-12-30 13:51:07 阅读数:882

代码 问题 看看 出问题 请看
问题遇到的现象和发生背景

img

//Richest Man#include <iostream>using namespace std;int main(){ int N; long long M; cin >> N >> M; long long Ci[40]; long long cc[40]; long long sum=0; long long answer = 0; for (int i = 0; i < N; i++) { cin >> Ci[i]; sum = sum + Ci[i]; } if (sum <= M) { cout << sum << endl; return 0; } else { for (int i = 0; i < N - 1; i++) { for (int j = 0; j < N - 1 - i; j++) { if (Ci[j] < Ci[j + 1]) { long long temp = Ci[j]; Ci[j] = Ci[j + 1]; Ci[j + 1] = temp; } } }//冒泡排序 for (int i = 0; i < N; i++) { long long c = M - Ci[i]; int d = 0; int j = i; while (j < N) { for (int j = d + 1; j < N; j++) { if (Ci[j] - c < 0) { d = j; c = c - Ci[j]; break; } else if (Ci[j] - c == 0) { cout << M; return 0; } } } cc[i] = c; } long long cmin = cc[0]; for (int i = 0; i < N-1; i++) { if (cmin > cc[i+1]) { cmin = cc[i + 1]; } } cout << M - cmin << endl; return 0; }}
运行结果及报错内容

运行结果时间超限

我的解答思路和尝试过的方法
我想要达到的结果



采纳答案:

数据范围提示是啥,你的数组大小是不是定义的小了


版权声明:本文为[CSDN问答]所创,转载请带上原文链接,感谢。 https://ask.csdn.net/questions/7613152