竞赛
考级
题解 这道题直接sort无脑快排就行了 但要写一个比较函数 点个赞吧
175****9056
n, m = map(int, input().split()) w = list(map(int, input().split())) if n <= m: print(max(w)) else: # 初始化前m个水龙头 taps = wm remaining = w[m:] time = 0
无语是自闭
#include<bits/stdc++.h> using namespace std; int n,w[11000],m,ans,maxx; int main(){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&w[i]); int t=m+1; while(t<=n+1){ for(int i=1;i<=m;i++){ w[i]--; if(w[i]==0){ w[i]=w[t]; t++; } } ans++; } for(int i=1;i<=m;i++) maxx=max(maxx,w[i]); cout<<ans+maxx<<endl; }
C+++++++++++++
#include<bits/stdc++.h> using namespace std; int n,m,o; int main() { cin>>n; cin>>m; int now=m+1,w[10001];//now存储了下一个要接水的人的编号 w[0]=0;//这玩意是我拿来存水的总量的 for(int i=1;i<=n;i++) { cin>>w[i]; w[0]+=w[i]; } while(w[0]!=0) { for(int i=1;i<=m;i++) { if(w[i]>0)//如果水还没接完,接水,同时水的总量减少 { w[i]--; w[0]--; } if(w[i]==0)//如果这个人水接完了,下一个人排进来,同时清空 { w[i]=w[now]; w[now]=0; if(now!=n)now++;//前面的if一定要写,不然接水的人就无穷无尽了 } } o++;//时间+1 } cout<<o; return 0; }
生米们的嫑锅
#include<bits/stdc++.h> using namespace std; int n,w[11000],m,ans,maxx; int main(){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&w[i]); int t=m+1; while(t<=n+1){ for(int i=1;i<=m;i++){ w[i]--; if(w[i]==0){ w[i]=w[t]; t++; } } ans++; } for(int i=1;i<=m;i++) maxx=max(maxx,w[i]); cout<<ans+maxx<<endl; return 0; }
鹿鹿
#include<cstdio> using namespace std;int n,m,a[10001],b[101],x;int ma(int a[],int l);int mi(int a[],int l); int main() {scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)scanf("%d",&a[i]); for(int i=1;i<=n;i++)x=mi(b,m),b[x]+=a[i]; printf("%d",ma(b,m));} int mi(int a[],int l) {int m=10000,mid; for(int i=1;i<=l;i++)if(a[i]<m)m=a[i],mid=i; return mid;} int ma(int a[],int l) {int m=0; for(int i=1;i<=l;i++)if(a[i]>m)m=a[i]; return m;}
137****7263
#include <iostream> using namespace std; int s[11000],ans; int main() { int n,m;cin>>n>>m; for(int i=1;i<=n;i++) cin>>s[i]; int t=m+1; while(t<=n+m) { for(int i=1;i<=m;i++) { s[i]--; if(s[i]==0) { s[i]=s[t]; t++; } } ans++; } cout<<ans; return 0; }
烈焰 剑仙
陈景越
#include<iostream> using namespace std; int n,w[11000],m,ans,maxx; int main(){ scanf("%d %d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&w[i]); int t=m+1; while(t<=n+1){ for(int i=1;i<=m;i++){ w[i]--; if(w[i]==0){ w[i]=w[t]; t++; } } ans++; } for(int i=1;i<=m;i++) maxx=max(maxx,w[i]); cout<<ans+maxx<<endl; }
༺ཌༀalgorithmༀད༻
#include <iostream> #include <algorithm> using namespace std; int main() { int n, m, w[10005], time[105] = {}, mx = 0; cin >> n >> m; for(int i = 1; i <= n; ++i) cin >> w[i]; }
智慧达达(1)
#include<bits/stdc++.h> using namespace std; int n,w[11000],m,ans,maxx; int main(){ cin>>n>>m; for(int i=1;i<=n;i++) cin>>w[i]; int t=m+1; while(t<=n+1){ for(int i=1;i<=m;i++){ w[i]--; if(w[i]==0){ w[i]=w[t]; t++; } } ans++; } for(int i=1;i<=m;i++) maxx=max(maxx,w[i]); cout<<ans+maxx<<endl; }
ypz2014
#include <bits/stdc++.h> using namespace std; int s[10086],sum,n,m; int main() { cin>>n>>m; for(int i=1;i<=n;i++) cin>>s[i]; int k=m+1; while(k<=n+m) { for(int i=1;i<=m;i++) { s[i]--; if(s[i]==0) { s[i]=s[k]; k++; } } sum++; } cout<<sum; return 0; }
13380764424
狗菜是我之生重
LS_YZY
#include<bits/stdc++.h> using namespace std; int a[200]; int main(){ int n,m;cin>>n>>m; for(int i=0;i<n;i++){ int x,mi=0;cin>>x; for(int j=0;j<m;j++){ if(a[mi]>a[j])mi=j; } a[mi]+=x; } sort(a,a+m); cout<<a[m-1]; return 0; }
155****3717
共35条
提交答案之后,这里将显示提交结果~