QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#179824 | #5674. Sum of Remainders | Yshanqian | WA | 0ms | 3676kb | C++14 | 1.4kb | 2023-09-15 10:30:30 | 2023-09-15 10:30:31 |
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++)
{
if (a[i] == 0)
ans.pb(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] << ' ';
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: 3580kb
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: 3640kb
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: 3600kb
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: 3676kb
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: 3608kb
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 9 18
result:
wrong answer 1st lines differ - expected: '1 9', found: '1 9 9 18 '