【玄关】O(600n)代码求调

P7072 [CSP-J2020] 直播获奖

```cpp #include<bits/stdc++.h> using namespace std; int tong[609]; int main(){ int n,w; cin>>n>>w; for(int i=1;i<=n;i++){ int x; cin>>x; tong[x]++; int num=0; for(int p=600;p>=0;p--){ if(tong[p]!=0){ num+=tong[p]; if(num>=max(1,i*w/100)){ cout<<p<<" "; break; } } } } } ``` 有两个问题,第一个就是`num`要定义在内层`for`循环外面,第二个就是输出完了之后可以直接`break`,不要`continue`
by lichengxi1111 @ 2024-09-19 22:49:06


不过我建议你去掉`if(tong[p]!=0)`这个判断,因为这样会让你的代码变复杂,加0就等同于没加,不用判断和用判断我肯定会选不用判断
by lichengxi1111 @ 2024-09-19 22:50:36


@[StarsTwinkle](/user/1267405)
by lichengxi1111 @ 2024-09-19 22:51:48


@[lichengxi1111](/user/934977) 谢谢
by StarsTwinkle @ 2024-09-19 22:53:19


|