Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<algorithm>
- using namespace std;
- typedef long long int ll;
- struct elem{
- ll eng,exp;
- };
- bool mycmp(elem a,elem b){
- ll ca = a.exp - 2*a.eng;
- ll cb = b.exp - 2*b.eng;
- return ca > cb;
- }
- int main()
- {
- int n;
- scanf("%d",&n);
- ll penalty[n+1];
- penalty[0] = 0;
- elem arr[n+1];
- for(ll i = 1 ; i <= n ; i ++){
- penalty[i] = i*i;
- scanf("%lld %lld",&arr[i].eng,&arr[i].exp);
- }
- sort(arr+1,arr+1+n,mycmp);
- ll sum = 0;
- ll cnt = 0;
- for(int i = 1 ; i <= n ; i ++){
- ll now = arr[i].exp - 2*arr[i].eng;
- if(sum + now - penalty[n - cnt - 1] >= sum - penalty[n - cnt]){
- sum += now;
- cnt++;
- }else{
- break;
- }
- }
- printf("%lld",sum - penalty[n-cnt]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement