社区讨论
80分求条
P1978集合参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mhjuzj01
- 此快照首次捕获于
- 2025/11/04 08:56 4 个月前
- 此快照最后确认于
- 2025/11/04 08:56 4 个月前
感觉这种做法也可以吧(
CPP#include <bits/stdc++.h>
#define int unsigned long long
using namespace std;
signed main(){
set <int> s;
int n,k;
cin >> n >> k;
for(int i=1;i<=n;i++)
{
int a;
cin >> a;
s.insert(a);
}
int ans = 0;
while(!s.empty())
{
int cnt = 0;
int h = *s.begin();
while(s.count(h))
{
cnt++;
s.erase(s.find(h));
h = h*k;
}
ans += cnt/2+(cnt%2);
}
cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...