/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Wrong Answer 5ms 532.0 KiB
#3 Wrong Answer 2ms 532.0 KiB

Code

// Böyük bir qabda un, duz və suyu qarışdırın və yoğurun. Üzərini təmiz bir dəsmal ilə örtün və 20 dəqiqə dincəlsin.
// Dincəlmiş xəmiri 2 hissəyə bölün və un səpilmiş piştaxtada oxlovla nazik şəkildə açıb yayın.
// Çay stəkanının ağzından istifadə edərək xəmirdən kiçik dairələr düzəldin.
// Ayrı bir qabda qiymə və sürtgəcdən keçirilmiş soğanı qarışdırın.
// Xəmirdən kəsdiyiniz dairələrin ortasına təxminən 1 çay qaşığı soğan-qiymə qarışığı qoyun.
// Əvvəlcə qiymə ilə doldurulmuş xəmiri yarım ay şəklinə salın. Yarım ay şəklində qatlanmış xəmirin iki iti küncünü birləşdirərək mantı bağlayın.
// Qapalı mantı piştaxtada olarkən unlayın. İstəyirsinizsə, bişirərkən dağılmaması üçün təxminən 10 dəqiqə dondurucuda saxlayın.
// Mantı dərin qazanda qaynayan bulyona köçürün və qurudulmuş nanə əlavə edin.
// Kərə yağı və tomat pastasını kiçik bir qazanda ətirlənənə qədər bişirin və mantıya köçürün.
// Mantı təxminən 10 dəqiqə bişirin. Köftələr suyun üstündə üzməlidir.
// Bişirdikdən sonra suyu olan boşqaba köçürün və doğranmış keşniş səpərək süfrəyə verin. Sevdiklərinizlə yeməkdən zövq alın.
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace std;
using namespace __gnu_pbds;

#define SPEED                     \
    ios_base::sync_with_stdio(0); \
    cin.tie(NULL);                \
    cout.tie(NULL);
 
#define pb push_back
#define ins insert
#define fi first
#define se second
 
#define endl "\n"
#define ALL(x) x.begin(), x.end()
#define sz(x) x.size()
#define intt long long
 
const intt mod = 1e9 + 7;
const intt base = 31;
const intt inf = 1e9;
const intt mxN = 2e5 + 5;
const intt L = 21;


void solve() {
    intt n;
    cin >> n;
    vector<vector<intt>> sol, sag;
    vector<intt> a(n);
    
    sol.resize(n + 1);
    sag.resize(n + 1);
    for(intt i = 0; i < n; i++) {
        cin >> a[i];
    }
    intt sz = n / 2;
    for(intt mask = 0; mask < (1 << n); mask++) {
        intt g = 0, cnt = 0;
        for(intt i = 0; i < n / 2; i++) {
              if(mask & (1 << i)) {
                  g = a[i];
                  break;
              }
        }
        for(intt i = 0; i < n / 2; i++) {
            if(mask & (1 << i)) {
                g = __gcd(g, a[i]);
                cnt++;
            }
        }
        sol[cnt].pb(g);
    }
    for(intt mask = 0; mask < (1 << n); mask++) {
        intt g = 0, cnt = 0;
        for(intt i = n / 2; i < n ; i++) {
              if(mask & (1 << i)) {
                  g = a[i];
                  break;
              }
        }
        for(intt i = n / 2; i < n; i++) {
              if(mask & (1 << i)) {
                  g = __gcd(g, a[i]);
                  cnt++;
              }
        }
        sag[cnt].pb(g);
    }
    
    for(intt k = 1; k <= n; k++) {
        intt ans = 0;
        for(intt i = 0; i < sol.size(); i++) {
            for(auto a : sol[i]) {
                for(auto b : sag[k - i]){
                    ans = max(ans, __gcd(a, b));
                }
            }
        } 
        cout << ans << " ";
    }
    cout << endl;
}

signed main() {
    SPEED;  
 
    intt tst = 1;
    // cin >> tst;
    while (tst--) {
        solve();
    }
}

Information

Submit By
Type
Submission
Problem
P1151 Max gcd group
Contest
Happy New Year 2025
Language
C++17 (G++ 13.2.0)
Submit At
2025-01-02 15:43:56
Judged At
2025-01-02 15:43:56
Judged By
Score
0
Total Time
5ms
Peak Memory
532.0 KiB