1216B - Shooting - CodeForces Solution


greedy implementation sortings *900

Please click on ads to support us..

Python Code:

n = int(input())
a = list(map(int, input().split()))
b_copy = [i for i in a]
b_copy.sort(reverse=True)
order = []
ans = 0
for i in range(len(b_copy)):
    index = a.index(b_copy[i])
    order.append(index+1)
    ans += (b_copy[i]*i)+1
    a[index] = 0
print(ans)
for i in order:
    print(i, end=' ')
print()

C++ Code:

#include <iostream>
#include <algorithm>
using namespace std;

int main(){
    int n;
    cin >> n;
    int a[n];
    int b[n];
    for (int i = 0; i < n; i++){
        cin >> a[i];
        b[i] = i+1;
    }
    for (int i = 0; i < n; i++){
        for (int j = 0; j < n; j++){
            for (int k = j+1; k < n; k++){
                if (a[j] < a[k]){
                    int x = a[j];
                    a[j] = a[k];
                    a[k] = x;
                    x = b[j];
                    b[j] = b[k];
                    b[k] = x;
                }
            }
        }
    }
    int total = 0;
    for (int i = 0; i < n; i++){
        total += i * a[i] + 1;
    }
    cout << total << endl;
    for (int i = 0; i < (n-1); i++){
        cout << b[i] << " ";
    }
    cout << b[n-1] << endl;
}


Comments

Submit
0 Comments
More Questions

292B - Network Topology
1339A - Filling Diamonds
910A - The Way to Home
617A - Elephant
48A - Rock-paper-scissors
294A - Shaass and Oskols
1213A - Chips Moving
490A - Team Olympiad
233A - Perfect Permutation
1360A - Minimal Square
467A - George and Accommodation
893C - Rumor
227B - Effective Approach
1534B - Histogram Ugliness
1611B - Team Composition Programmers and Mathematicians
110A - Nearly Lucky Number
1220B - Multiplication Table
1644A - Doors and Keys
1644B - Anti-Fibonacci Permutation
1610A - Anti Light's Cell Guessing
349B - Color the Fence
144A - Arrival of the General
1106A - Lunar New Year and Cross Counting
58A - Chat room
230A - Dragons
200B - Drinks
13A - Numbers
129A - Cookies
1367B - Even Array
136A - Presents