結果
| 問題 | No.40 多項式の割り算 | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2024-01-05 18:23:40 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 3 ms / 5,000 ms | 
| コード長 | 1,809 bytes | 
| コンパイル時間 | 2,081 ms | 
| コンパイル使用メモリ | 171,928 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-09-27 19:08:45 | 
| 合計ジャッジ時間 | 3,399 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 32 | 
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define all(x) x.begin(),x.end()
#define rep(i,a,b) for(int i=a;i<=b;i++)
#define rep_r(i,a,b) for(int i=a;i>=b;i--)
#define each(a,x) for (auto& x : a)
using pi = pair<int,int>;
using pl = pair<ll,ll>;
using vi = vector<int>;
using vl = vector<ll>;
#define fi first    
#define se second
#define sz(x) int(x.size())
#define so(x) sort(all(x))
#define so_r(x) sort(all(x),greater<int>())
#define zero(x) memset(x,0,sizeof(x))
#define pb push_back
#define lb lower_bound
#define ub upper_bound
const char nl = '\n';
int dx[4] = {1,-1,0,0};
int dy[4] = {0,0,1,-1};
int bit_cnt(int x){
    return __builtin_popcount(x);
}
ll bex(ll a, ll b, ll mod = 1e9 + 7){ll res = 1LL; while(b){ if (b&1) res = res * a % mod; a = a * a % mod; b >>= 1;} return res;}
template<class t,class u> bool chmax(t&a,u b){if(a<b){a=b;return true;}else return false;}
template<class t,class u> bool chmin(t&a,u b){if(b<a){a=b;return true;}else return false;}
// armistcxy
const int MOD = 1e9 + 7; // 998244353
const int N = 1e5 + 5;
const ll INF = 1e18;
int a[10005];
void solve(){
    int n; cin >> n; 
    rep(i,0,n) cin >> a[i];
    vector<pair<int,int>> res;
    rep_r(i,n,3) {
        a[i-2] += a[i];
        a[i] = 0;
    }
    bool ok = false;
    rep_r(i,2,0) {
        if (ok || a[i]){
            ok = true;
            res.push_back({a[i], i});
        }
    }
    if (!sz(res)){
        cout << "0" << nl << "0";
    } else {
        // rep(i,0,n) cout << a[i] << ' ';
        // cout << nl;
        reverse(all(res));
        cout << res.back().second << nl;
        each(res,x) cout << x.first << ' ';
    }
    
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t = 1; //cin >> t;
    while (t--){
        solve();
    }
}
            
            
            
        