建议加强数据,卡时轻松水过
查看原帖
建议加强数据,卡时轻松水过
1074084
asd890123楼主2024/5/1 12:11
#include <algorithm>
#include <iostream>
#include <vector>

using namespace std;

bool cmp(int a,int b){return a > b;}

int main(){
    
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    
    int n,tmp,size,cnt = 0;
    const int PIANFEN = 1e7;
    vector <int> v,ans;
    
    cin >> n;
    for (int i = 0;i < n;i++)
        cin >> tmp,v.push_back(tmp);
    stable_sort(v.begin(),v.end(),cmp);
    size = unique(v.begin(),v.end()) - v.begin();
    for (int i = 0;i < size;i++)
        for (int j = 0;j < size;j++){
            
            if (++cnt > PIANFEN){
                
                stable_sort(ans.begin(),ans.end(),cmp);
                size = unique(ans.begin(),ans.end()) - ans.begin();
                if (size < 2) cout << -1 << endl;
                else cout << ans[1] << endl;
                return 0;
                
            }
            if (i != j)
                ans.push_back(v[i] % v[j]);
            
        }
    stable_sort(ans.begin(),ans.end(),cmp);
    size = unique(ans.begin(),ans.end()) - ans.begin();
    if (size < 2) cout << -1 << endl;
    else cout << ans[1] << endl;
    
    return 0;
}

跑完就是O(n^2)的空间复杂度,和更高的时间复杂度,但是卡时竟然没有WA,离谱

2024/5/1 12:11
加载中...