Submission #2775173


Source Code Expand

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#define INF LONG_LONG_MAX
#define pb push_back
#define mp make_pair
#define MAXN 1000009
#define MOD 1000000007
#define MAX(a,b) (((a)>(b))?(a):(b))
#define MIN(a,b) (((a)<(b))?(a):(b))
#define left(x) x<<1
#define right(x) (x<<1)|1
#define PI acos(-1.0)
using namespace std;
using namespace __gnu_pbds;

typedef long long ll;
typedef vector<ll> vi;
typedef vector<vi> vvi;
typedef pair<ll,ll> ii;
typedef vector<ii> vii;
typedef map<string,ll> msi;
typedef set<ll> si;
typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update> 
ordered_set;
typedef tree<ii,null_type,less<ii>,rb_tree_tag,tree_order_statistics_node_update> 
ordered_multiset;

int a[2000005],n;

ll calc(ll x){
    ll res=0;
    for(int i=1;i<=n;++i)
        res+=abs(a[i]-i-x);
    return res;
}

ll solve(){
    cin>>n;
    for(int i=1;i<=n;++i)
        cin>>a[i];
    ll res=INF,low=-4e9,high=4e9;
    while(low<=high){
        ll mid=low+high;
        mid/=2;
        ll curr=calc(mid);
        res=min(res,curr);
        if(res==0)
            break;
        if(calc(low)<calc(high)){
            high=mid-1;
        }
        else{
            low=mid+1;
        }
    }
    cout<<res;
    return 0;
}

int main(){
    
    int T=1;
    //scanf("%d",&T);
    for(int i=1;i<=T;++i){
        solve();
    }
    return 0;
}

Submission Info

Submission Time
Task C - Linear Approximation
User saurabh119
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1541 Byte
Status WA
Exec Time 142 ms
Memory 1024 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 300
Status
AC × 4
AC × 18
WA × 1
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KiB
sample_02.txt AC 1 ms 256 KiB
sample_03.txt AC 1 ms 256 KiB
sample_04.txt AC 1 ms 256 KiB
subtask_1_01.txt AC 1 ms 256 KiB
subtask_1_02.txt AC 26 ms 384 KiB
subtask_1_03.txt WA 23 ms 384 KiB
subtask_1_04.txt AC 70 ms 640 KiB
subtask_1_05.txt AC 121 ms 896 KiB
subtask_1_06.txt AC 138 ms 1024 KiB
subtask_1_07.txt AC 140 ms 1024 KiB
subtask_1_08.txt AC 139 ms 1024 KiB
subtask_1_09.txt AC 141 ms 1024 KiB
subtask_1_10.txt AC 140 ms 1024 KiB
subtask_1_11.txt AC 142 ms 1024 KiB