社区讨论

#6过不了的可以进来看看是不是我这个问题

CF2AWinner参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lo8gl3qz
此快照首次捕获于
2023/10/27 18:16
2 年前
此快照最后确认于
2023/10/27 18:16
2 年前
查看原帖
我真的服了这个老六题目说好的n<=1000,我调了半天wa,把数组扩到10000就过了,我真的不知道为什么```cpp #include<bits/stdc++.h> using namespace std; int tot=0,c[100001]={0},d[100001]={0},maxx=-999999999,maxname,maxs=0,e[100001]={0}; string s[1000001]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { string s1; int m; cin>>s1>>m; bool b=0; for(int j=1;j<=tot;j++) { if(s[j]==s1) { b=1; c[j]+=m; if(m>0&&e[j]<c[j]) { d[j]=i; e[j]=c[j]; } break; } } if(b==0) { s[++tot]=s1; c[tot]+=m; d[tot]=i; e[tot]=c[tot]; } } for(int i=1;i<=tot;i++) { if(c[i]>maxx) { maxx=c[i]; maxname=i; maxs=d[i]; } else if(c[i]==maxx) { if(d[i]<maxs) { maxx=c[i]; maxname=i; maxs=d[i]; } } } cout<<s[maxname]; }
CPP

回复

2 条回复,欢迎继续交流。

正在加载回复...