結果
問題 | No.40 多項式の割り算 |
ユーザー | Ngô Lê Hoàng |
提出日時 | 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(); } }