社区讨论
【玄关】ABC C求调
学术版参与者 3已保存回复 3
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 3 条
- 当前快照
- 1 份
- 快照标识符
- @lpo3wne0
- 此快照首次捕获于
- 2023/12/02 21:45 2 年前
- 此快照最后确认于
- 2023/12/03 08:38 2 年前
同学的代码,不知道什么问题。据他说对拍的样例都一样。因为我不是这种方法,所以我不知道怎么调。玄关。或者证明伪。谢谢
CPP#include<iostream>
#include<algorithm>
using namespace std;
int n,a[200005];
int b[1000005],ans,jl;
int sum[2000005];
template <typename T> void read(T &x){
x = 0;
bool f = 0;
char c = getchar();
while (c < '0' || c > '9') f |= c == '-', c = getchar();
while (c >= '0' && c <= '9') x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();
if (f) x = -x;
}
template <typename T> void write(T x){
if (x < 0) putchar('-'), x = -x;
if (x < 10) putchar(x + '0');
else write(x / 10), putchar(x % 10 + '0');
}
int main(){
read(n);
for (int i=1;i<=n;i++){
read(a[i]);
b[a[i]]++;
jl=max(jl,a[i]);
}
sum[jl]=b[jl]*jl;
for (int i=jl-1;i>=1;i--){
sum[i]=sum[i+1]+b[i]*i;
//cout<<i<<" yep! "<<sum[i]<<"\n";
//if(b[i]!=0) cout<<sum[a[i]+1]<<" ";
}
for (int i=1;i<=n;i++){
cout<<sum[a[i]+1]<<" ";
}
return 0;
}
回复
共 3 条回复,欢迎继续交流。
正在加载回复...