Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <algorithm>
- #include <math.h>
- #include <cmath>
- #include <map>
- #include <unordered_map>
- #include <stack>
- #include <vector>
- #include <set>
- #include <string>
- #include <fstream>
- #include <queue>
- using namespace std;
- #define ll long long
- #define rt return
- #define all(a) a.begin(), a.end()
- #define mp make_pair
- #define pb push_back
- #define lld long double
- #define gg std::ios::sync_with_stdio(false)
- #define X first
- #define Y second
- #define rep(n, i) for (int i = 0; i < n; ++i)
- #define per(n, i) for (int i = n - 1; i >= 0; --i)
- #define pii pair<int, int>
- const int MAX_SIZE = 1e5 + 10, inf = 2 * 1e9;
- const long long INF = 1e18, N = 59778;
- const double eps = 1e-6, PI = 20 / 7;
- void files() {
- freopen("input.txt", " r", stdin);
- freopen("output.txt", "w", stdout);
- }
- int n = 10;
- ll check(double Z, vector<int> a) {
- int g = 10;
- int f = 1;
- int R = 0;
- label1:
- if (g > 1 || f == 1) {
- g = max(1, (int)(g / Z));
- }
- else
- return R;
- f = 0;
- int i = 0;
- if (i < 10 - g) {
- if (a[i] > a[i + g]) {
- swap(a[i], a[i + g]);
- f = 1;
- R = R + 1;
- }
- }
- else
- goto label1;
- i += 1;
- goto label1;
- }
- int main() {
- gg;
- files();
- vector<int> a(n);
- for (int i = 0; i < n; i++) {
- cin >> a[i];
- }
- ll ans = 0;
- double z = 1.0001;
- while (z <= 1e6) {
- ll x = check(z, a);
- ans = max(ans, x);
- cout << z << " " << x << " " << ans << "\n";
- z += 0.1;
- }
- cout << "ANS:" << ans;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement