#include <bits/stdc++.h>
#define mp make_pair
#define F first
#define S second
#define eb emplace_back
#define printv(a, b) { \
for(auto pv : a) b << pv << " "; \
b << "\n"; \
}
using namespace std;
typedef long long ll;
using pll = pair<ll, ll>;
using pii = pair<int, int>;
const ll MAX = 1LL << 60;
ostream& operator<<(ostream& o, pll p){
return o << '(' << p.F << ',' << p.S << ')';
}
ll iceil(ll a, ll b){
return (a + b - 1) / b;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int n, k;
cin >> n >> k;
vector<ll> pos(n + 1), a(n + 1);
ll sum = 0;
for(int i = 1; i <= n; i++){
cin >> a[i];
sum += a[i];
}
if(sum % k){
cout << "-1\n";
return 0;
}
ll len = sum / k;
ll now = 0;
vector<ll> t;
for(int i = 1; i <= n; i++){
if(a[i] > len){
cout << "-1\n";
return 0;
}
now += a[i];
pos[i] = (now - 1) % len;
t.eb(pos[i]);
}
sort(t.begin(), t.end());
t.resize(unique(t.begin(), t.end()) - t.begin());
len = t.size();
vector<vector<int>> ans(len);
int j = -1;
ll total = 0;
for(int i = 1; i <= n; i++){
int id = lower_bound(t.begin(), t.end(), pos[i]) - t.begin();
ll cnt = 0;
for(j = (j + 1) % len; ; j = (j + 1) % len){
ans[j].eb(i);
total++;
if(j > 0) cnt += t[j] - t[j - 1];
else cnt++;
if(j == id) break;
}
assert(cnt == a[i]);
}
cout << len << "\n";
int lst = -1;
for(int i = 0; i < len; i++){
cout << t[i] - lst << " " ;
printv(ans[i], cout);
lst = t[i];
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
492 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
492 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
492 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
331 ms |
72144 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Runtime error |
1 ms |
492 KB |
Execution killed with signal 6 |
2 |
Halted |
0 ms |
0 KB |
- |