QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#714697 | #5674. Sum of Remainders | zeyu# | AC ✓ | 1ms | 3816kb | C++23 | 2.0kb | 2024-11-06 02:52:30 | 2024-11-06 02:52:30 |
Judging History
answer
#include <bits/stdc++.h>
#define fi first
#define se second
#define ll long long
#define pl pair<ll, ll>
#define pi pair<int, int>
#define minpq priority_queue<ll, vector<ll>, greater<ll>>
using namespace std;
#if 1
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '['; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "]";}
void _print() {cerr << endl << flush;}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#define debug(x...) cerr << "*["<<__LINE__<<"]\t"<< #x << " = "; _print(x)
#endif
const ll mod = 1e9 + 7;
template<typename T> bool chkmin(T &a, T b){return (b < a) ? a = b, 1 : 0;}
template<typename T> bool chkmax(T &a, T b){return (b > a) ? a = b, 1 : 0;}
ll gcd(ll a, ll b) {if(b == 0){return a;} return gcd(b, a % b);}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n; cin >> n;
vector<int> a(n + 1);
for (int i = 1; i <= n; i ++) cin >> a[i];
vector<int> ans;
int num = a[1];
for (int i = 2; i <= n; i ++){
int desired = (num - ans.size()) * i;
for (int j = 0; j < ans.size(); j ++){
desired += i % ans[j];
}
for (int j = a[i]; j < desired; j += i){
ans.push_back(i);
}
}
cout << ans.size() << ' ';
for (int i = 0; i < ans.size(); i ++) cout << ans[i] << ' ';
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3524kb
input:
16 4 6 10 12 6 8 12 14 18 10 3 5 9 11 5 7
output:
4 2 5 5 11
result:
ok single line: '4 2 5 5 11 '
Test #2:
score: 0
Accepted
time: 0ms
memory: 3508kb
input:
20 3 6 6 9 12 6 2 5 5 8 11 5 8 4 4 7 10 4 7 10
output:
3 3 6 7
result:
ok single line: '3 3 6 7 '
Test #3:
score: 0
Accepted
time: 0ms
memory: 3608kb
input:
40 7 14 21 28 35 42 42 49 56 63 70 65 59 45 37 44 51 58 65 72 72 79 86 57 39 33 40 26 33 25 32 39 46 53 53 48 55 62 56 63
output:
7 7 12 13 14 15 24 25
result:
ok single line: '7 7 12 13 14 15 24 25 '
Test #4:
score: 0
Accepted
time: 0ms
memory: 3516kb
input:
60 7 14 21 28 35 42 49 56 63 70 77 72 79 86 93 100 90 97 85 92 99 106 113 108 115 122 102 109 116 123 99 106 113 103 110 105 112 100 107 114 121 86 93 56 63 70 77 72 79 86 76 83 90 70 77 84 72 79 86 81
output:
7 12 17 19 27 31 42 44
result:
ok single line: '7 12 17 19 27 31 42 44 '
Test #5:
score: 0
Accepted
time: 0ms
memory: 3524kb
input:
20 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2
output:
1 9
result:
ok single line: '1 9 '
Test #6:
score: 0
Accepted
time: 0ms
memory: 3476kb
input:
30 2 4 6 8 10 12 14 16 18 20 11 13 2 4 6 8 10 12 14 16 18 9 11 13 15 4 6 8 10 12
output:
2 11 13
result:
ok single line: '2 11 13 '
Test #7:
score: 0
Accepted
time: 0ms
memory: 3544kb
input:
40 9 18 24 33 42 42 51 60 66 65 74 74 70 79 70 47 56 56 46 45 51 60 69 45 54 50 56 65 74 49 58 35 41 50 59 59 68 58 51 50
output:
9 3 6 10 13 15 16 16 19 24
result:
ok single line: '9 3 6 10 13 15 16 16 19 24 '
Test #8:
score: 0
Accepted
time: 0ms
memory: 3760kb
input:
60 7 14 21 28 35 42 49 48 55 62 69 76 83 76 83 82 89 96 103 110 117 124 131 130 137 144 151 144 151 158 165 164 171 144 151 158 165 172 179 138 145 138 145 108 70 77 84 83 90 47 54 61 68 75 82 67 74 81 88 95
output:
7 8 14 34 40 44 45 50
result:
ok single line: '7 8 14 34 40 44 45 50 '
Test #9:
score: 0
Accepted
time: 0ms
memory: 3744kb
input:
70 3 6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 51 54 57 60 63 66 69 72 75 78 81 84 87 60 63 66 69 72 75 78 81 84 87 90 93 96 99 102 60 63 66 69 72 75 78 81 84 33 36 39 42 45 48 21 24 27 30 33 36 39 42 45 48 51
output:
3 30 45 54
result:
ok single line: '3 30 45 54 '
Test #10:
score: 0
Accepted
time: 0ms
memory: 3816kb
input:
30 5 10 15 16 21 20 25 26 31 26 31 26 31 36 41 42 30 29 15 6 11 16 21 16 21 26 31 32 37 26
output:
5 4 6 10 17 19
result:
ok single line: '5 4 6 10 17 19 '