148692025-02-05 12:56:50DhaneHaneKörJáték (50 pont)cpp17Elfogadva 50/5014ms1364 KiB
#include <iostream>
#include <vector>
using namespace std;
int tav(int a, int b, int n) {
    if (b - a > 0)return b - a;
    else return b - a + n;
}
int main()
{
    int n, x; //ifstream f("szamok.txt"); f>>n;
    cin >> n;
    vector<int>ind(n + 1), ert(n + 1), sor(n + 1), v1; sor[0] = 0;
    for (int i = 1; i <= n; i++) { cin >> x; ind[x] = i; ert[i] = x; }
    int s = 0, k;
    for (int i = 1; i < n; i++) {
        s += tav(ind[i], ind[i + 1], n);
    }
    for (int i = 1; i <= n; i++) {
        k = s; int p = ert[i];
        if (p != n && p != 1) {
            k = k + tav(ind[n], ind[p], n) +
                tav(ind[p - 1], ind[p + 1], n)
                - tav(ind[p], ind[p + 1], n) -
                tav(ind[p - 1], ind[p], n);
        }
        else if (ert[i] == 1) {
            k = k + tav(ind[n], ind[1], n) - tav(ind[1], ind[2], n);
        }
        cout << k << " ";
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms508 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva0/01ms316 KiB
4Elfogadva2/21ms500 KiB
5Elfogadva2/21ms500 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva2/21ms316 KiB
9Elfogadva2/21ms316 KiB
10Elfogadva2/21ms544 KiB
11Elfogadva2/21ms316 KiB
12Elfogadva2/21ms316 KiB
13Elfogadva2/21ms316 KiB
14Elfogadva2/21ms316 KiB
15Elfogadva2/21ms316 KiB
16Elfogadva1/11ms316 KiB
17Elfogadva2/214ms1180 KiB
18Elfogadva2/214ms1176 KiB
19Elfogadva2/214ms1076 KiB
20Elfogadva2/214ms1176 KiB
21Elfogadva2/214ms1076 KiB
22Elfogadva2/214ms1104 KiB
23Elfogadva2/214ms1176 KiB
24Elfogadva2/214ms1180 KiB
25Elfogadva2/214ms1172 KiB
26Elfogadva2/214ms1092 KiB
27Elfogadva2/214ms1216 KiB
28Elfogadva2/214ms1172 KiB
29Elfogadva1/114ms1364 KiB