/ Vijos / 题库 /

公寓

公寓

时间限制:1秒  内存限制:256M


【题目描述】

  一座新的公寓开放了,这座公寓有\(m\)栋楼。
  现在会有\(n\)个学生,每一天都会进来一个人。
  一栋楼进来一个人后,该栋楼内的人会共同进行一场派对,并制造与当前人数相等的吵闹指数。
  但是,现在你可以进行\(k\)次操作,每一次操作可以将一栋楼里的全部学生清除出这座新公寓,即把公寓人数清 0。
  请注意,学生先进楼,然后才能进行操作。
  现在求出吵闹指数的相加之和的最小值。你不必使用完全部的操作。

【输入格式】

  第一行为三个整数 \(n,m,k\)。
  接下来\(n\)行,一行一个整数\(p\),第\(i\)行表示在第\(i\)天,第\(i\)个同学搬进了第\(p\)栋楼。

【输出格式】

  仅一行,表示最小吵闹指数的相加之和。

【输入输出样例1】

 Input

5 1 2
1
1
1
1
1

 Output

7

【样例1说明】

  可以在第一天和第三天清空第一栋楼,这样每一天的吵闹指数为 1,1,2,1,2,如果不清空每一天的吵闹指数为 1,2,3,4,5。

【输入输出样例1】

 Input

11 2 3
1
2
1
2
1
2
1
2
1
2
1

 Output

18

【样例2说明】

  在第四天和第八天清空第一栋楼,在第六天清空第二栋楼,这样每一天的吵闹指数为 1,1,2,2,1,3,2,1,1,2,2。

【测试点性质】

  对于40%分的数据,保证 \(m=1\)。
  对于60%分的数据,保证 \(n≤10^3\)。
  对于80%分的数据,保证 \(n≤5*10^4\)。
  对于100%的数据,保证 \(1≤n≤10^6,1≤m≤100,1≤k≤500,1≤p≤m\)。

【来源】

  Mr.he
UVA12167

信息

ID
3258
难度
9
分类
动态规划 | 贪心 点击显示
标签
(无)
递交数
1
已通过
1
通过率
100%
被复制
1
上传者