你好,请问D题的n,m为什么用int会有20%的用例通过不了,用long long int就可以了呢?n和m的范围在0<n> using namespace std; typedef long long ll; int main () { int t; cin >> t; while (t) { ll n, m; cin >> n >> m; ll a[1000001]; vector<ll> vec; ll ans = 0; for (ll i = 0; i < n; ++i) { cin >> a[i]; if (a[i] > 0) { vec.push_back((n - i) * a[i]); } ans += a[i]; } sort(vec.begin(), vec.end(), greater<ll>()); for (ll i = 0; i < min(m, (ll)vec.size()); ++i) { ans -= vec[i]; } cout << ans << endl; --t; } return 0; }</ll></ll></n>
点赞

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务