Strange List CodeForces - 1471B
生活随笔
收集整理的這篇文章主要介紹了
Strange List CodeForces - 1471B
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題意:
對于長度為n的數組a,從第一位開始如果可以整除x,就將x個a/x的結果加到數組最后,然后對下一位進行一樣的操作,直到第x位不可以整除x,到此結束,然后計算此時數組的總和
題解:
最直接的方法就是按照題意模擬即可
然后稍微優化優化就行(不優化好像問題也不大)
代碼:
#include <bits/stdc++.h> using namespace std; #define qc std::ios::sync_with_stdio(0); int a[100001]; int b[100001];int main() {qc;cin.tie(0);int t;cin >> t;while (t--) {int n, k;long long ans = 0;cin >> n >> k;for (int i = 0; i < n; i++) {cin >> a[i];b[i] = 1;ans += a[i];}int flag = 0;while (1) {for (int i = 0; i < n; i++) {if (a[i] % k != 0) {flag = 1;break;} else {a[i] = a[i] / k;b[i] = b[i] * k;ans += b[i] * a[i];}}if (flag == 1)break;}cout << ans << endl;} }總結
以上是生活随笔為你收集整理的Strange List CodeForces - 1471B的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Strange Partition Co
- 下一篇: Strange Birthday Par