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 |
|
|
| 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 |