社区讨论
求问
P14958「KWOI R1」Permutation Problem参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @mk9vyc8g
- 此快照首次捕获于
- 2026/01/11 23:25 上个月
- 此快照最后确认于
- 2026/01/16 13:45 上个月
对a排序删掉过了30pts(subtask 0 1 3)
加上就WA一大片,剩10pts
CPP#include <bits/stdc++.h>
using namespace std;
#define pb(a) push_back(a)
typedef long long ll;
vector<int> a,b;
set<ll> kk;
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int n;
ll k;
cin >> n;
for(int i=1;i<=n;i++) {cin >> k;a.pb(k);b.pb(i);}
sort(a.begin(),a.end());
int f = 0,l;
do{
kk.clear();
int ff = 1;
for(int i=0;i<n;i++) {
l = kk.size();
kk.insert(1LL*a[i]*b[i]);
if(kk.size()==l) {ff=0;break;}
}
if(ff) {f = 1;break;}
}while(next_permutation(b.begin(),b.end()));
if(f) for(auto it=b.begin();it!=b.end();it++) cout << *it << ' ';
else cout << -1;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...