# j537 工廠派遣 ## [題目連結](https://drive.google.com/open?id=12nNDXOU1WCmpXbfFRopkxUHoNQBTo_3w) ## 解題想法 * 用兩個陣列存不同內容(營收和人數),將營收排序的同時將對應人數放置相同位子,工廠所需人數就會自高營收排至低營收。 ## 解題心得 * 過程順利,但排序方法還能再精進。 ## 程式碼 ```cpp=01 #include<stdio.h> int main(){ int n; scanf("%d",&n); int a[n],p[n],i,j,h,ans=0; for(i=0;i<n;i++)scanf("%d%d",&a[i],&p[i]); scanf("%d",&h); for(i=0;i<n;i++){ int max=i,tmp; for(j=i+1;j<n;j++)if(a[j]>a[max])max=j; tmp=a[i]; a[i]=a[max]; a[max]=tmp; tmp=p[i]; p[i]=p[max]; p[max]=tmp; } for(i=0;i<n;i++){ if(p[i]<=h){ ans++; h-=p[i]; } else{ if(h>0)ans++; break; } } printf("%d",ans); return 0; } ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up