zoukankan      html  css  js  c++  java
  • AtCoder Regular Contest 079 E

    Problem Statement

    We have a sequence of length N consisting of non-negative integers. Consider performing the following operation on this sequence until the largest element in this sequence becomes N1 or smaller. (The operation is the same as the one in Problem D.)

    • Determine the largest element in the sequence (if there is more than one, choose one). Decrease the value of this element by N, and increase each of the other elements by 1.

    It can be proved that the largest element in the sequence becomes N1 or smaller after a finite number of operations.

    You are given the sequence ai. Find the number of times we will perform the above operation.

    Constraints

    • 2N50
    • 0ai1016+1000

    Input

    Input is given from Standard Input in the following format:

    N
    a1 a2 ... aN
    

    Output

    Print the number of times the operation will be performed.


    Sample Input 1

    Copy
    4
    3 3 3 3
    

    Sample Output 1

    Copy
    0
    
    ABC78 D题的逆向,可以直接模拟。
     1 #include <bits/stdc++.h>
     2 #define ll long long
     3 using namespace std;
     4 ll a[55];
     5 int main() {
     6     ios::sync_with_stdio(false);
     7     int n;
     8     cin >> n;
     9     for(int i = 1; i <= n; i ++) {
    10         cin >> a[i];
    11     }
    12     ll k = 0;
    13     while(1) {
    14         ll MAX = -1,id;
    15         for(int i = 1; i <= n; i ++) {
    16             if(MAX < a[i]){
    17                 MAX = a[i];
    18                 id = i;
    19             }
    20         }
    21         if(MAX < n)break;
    22         for(int i = 1; i <= n; i ++) {
    23             if(i == id) a[i] %= n;
    24             else a[i] += MAX/n;
    25         }
    26         k += MAX / n;
    27     }
    28     printf("%lld
    ",k);
    29     return 0;
    30 }
  • 相关阅读:
    回溯法---哈密顿回路(5)
    回溯法---n皇后问题(4)
    回溯法---n-着色问题(3)
    回溯法--算法框架(2)
    创建二叉树的所有深度上的节点链表
    笔试
    笔试 (2)
    LeetCode278-第一个错误的版本(二分查找)
    LeetCode46-全排列(递归)
    LeetCode258-各位相加(猜想公式)
  • 原文地址:https://www.cnblogs.com/xingkongyihao/p/7258643.html
Copyright © 2011-2022 走看看