真不明白为什么是队列的题
2023-12-31 09:09:16
发布于:北京
142阅读
0回复
0点赞
模拟不就好了
#include<iostream>
using namespace std;
const int MAXN=1e5+15;
int n,m,x,t;
int w[MAXN];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
w[i]=MAXN;
cin>>w[i];
}
for(int i=n+1;i<=n+m;i++) w[i]=MAXN;
x=m+1;
while(x<=n+m){
for(int i=1;i<=m;i++){
w[i]--;
if(w[i]<=0) w[i]=w[x++];
}
t++;
}
cout<<t;
return 0;
}
全部评论 2
队列会快很多,不过这题确实没必要
我写的:#include <bits/stdc++.h> using namespace std; int main() { int n, m; cin >> n >> m; vector<int> w(n); for (int i = 0; i < n; i++) cin >> w[i]; vector<int> tap(m, 0); for (int i = 0; i < n; i++) { int mx = 0; for (int j = 1; j < m; j++) { if (tap[j] < tap[mx]) mx = j; } tap[mx] += w[i]; } int ans = 0; for (int x : tap) ans = max(ans, x); cout << ans; return 0; }2026-07-16 来自 上海
1ok
2026-03-17 来自 浙江
0













有帮助,赞一个