QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#179221 | #5674. Sum of Remainders | wdbl857 | WA | 0ms | 3724kb | C++20 | 1.4kb | 2023-09-14 19:46:48 | 2023-09-14 19:46:48 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define pi acos(-1)
#define xx first
#define yy second
#define endl "\n"
#define lowbit(x) x & (-x)
#define int long long
#define ull unsigned long long
#define pb push_back
typedef pair<int, int> PII;
typedef pair<double, double> PDD;
#define max(a, b) (((a) > (b)) ? (a) : (b))
#define min(a, b) (((a) < (b)) ? (a) : (b))
#define Ysanqian ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
const int N = 1e6 + 10, M = 1010, inf = 0x3f3f3f3f, mod = 18446, P = 13331;
const double eps = 1e-8;
int n;
int a[N];
bool flag;
vector<int> ans;
void solve()
{
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
int num = a[1];
int cnt = a[1];
for (int i = 2; i <= n; i++)
{
int sum = 0;
for (auto ed : ans)
sum += i % ed;
a[i] -= sum;
if (a[i] < cnt * i)
{
int x = a[i] / i;
int y = cnt;
y -= x;
cnt -= y;
for (int j = 1; j <= y; j++)
{
ans.pb(i);
if (ans.size() == a[1])
{
flag = 1;
break;
}
}
if (flag)
break;
}
}
cout << a[1] << ' ';
if (a[1] == 1)
cout << 2 << endl;
else
for (auto ed : ans)
cout << ed << ' ';
}
signed main()
{
Ysanqian;
int T;
T = 1;
// cin >> T;
while (T--)
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3724kb
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: 3596kb
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: 3652kb
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: 3656kb
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: -100
Wrong Answer
time: 0ms
memory: 3720kb
input:
20 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 0 1 2
output:
1 2
result:
wrong answer 1st lines differ - expected: '1 9', found: '1 2'