Submission #154196

# Submission time Handle Problem Language Result Execution time Memory
154196 2019-09-18T20:46:20 Z AKaan37 Potatoes and fertilizers (LMIO19_bulves) C++17
24 / 100
186 ms 17496 KB
//Sani buyuk Osman Pasa Plevneden cikmam diyor.
//FatihSultanMehmedHan
//Abdulhamid Han
//Bismillahirrahmanirrahim
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█▄█
//█─█─█▄─█▄─█─█─█─█

#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")

#include <bits/stdc++.h>

using namespace std;

typedef long long lo;
typedef pair< int,int > PII;

#define fi first
#define se second
#define int long long
#define mp make_pair
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)

const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 100000000000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 1000005;
const lo mod = 1000000007;

int n,m,b[li],a[li],k,flag,t;
int cev;
string s;
vector<PII> v;
vector<PII> v1;
vector<PII> vv;
vector<PII> vv1;

main(void){
	scanf("%lld",&n);
	FOR{
		scanf("%lld %lld",&a[i],&b[i]);
		if(a[i]>b[i]){
			v.pb(mp(i,abs(a[i]-b[i])));
			v1.pb(mp(i,abs(a[i]-b[i])));
		}
		else if(a[i]<b[i]){
			vv.pb(mp(i,abs(a[i]-b[i])));
			vv1.pb(mp(i,abs(a[i]-b[i])));
		}
	}
	//~ at=0;
	int bb=0;
	int ii=0;
	sort(v.begin(),v.end());
	sort(vv.begin(),vv.end());
	sort(v1.begin(),v1.end());
	sort(vv1.begin(),vv1.end());
	while(ii<(int)vv.size()){
		int at=min(v[bb].se,vv[ii].se);
		cev+=abs(vv[ii].fi-v[bb].fi)*at;
		v[bb].se-=at;
		vv[ii].se-=at;
		if(vv[ii].se==0)ii++;
		if(v[bb].se==0)bb++;
	}
	int cev1=inf;
	reverse(v1.begin(),v1.end());
	reverse(vv1.begin(),vv1.end());
	ii=0;
	bb=0;
	//~ while(ii<(int)vv1.size()){
		//~ int at=min(v1[bb].se,vv1[ii].se);
		//~ cev1+=abs(vv1[ii].fi-v1[bb].fi)*at;
		//~ v1[bb].se-=at;
		//~ vv1[ii].se-=at;
		//~ if(vv1[ii].se==0)ii++;
		//~ if(v1[bb].se==0)bb++;
	//~ }
	printf("%lld\n",min(cev,cev1));
	return 0;
}

Compilation message

bulves.cpp:45:10: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
 main(void){
          ^
bulves.cpp: In function 'int main()':
bulves.cpp:46:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&n);
  ~~~~~^~~~~~~~~~~
bulves.cpp:48:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld %lld",&a[i],&b[i]);
   ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 380 KB Output is correct
4 Correct 16 ms 1984 KB Output is correct
5 Correct 30 ms 3596 KB Output is correct
6 Correct 81 ms 5936 KB Output is correct
7 Correct 186 ms 16192 KB Output is correct
8 Correct 150 ms 17496 KB Output is correct
9 Correct 150 ms 16108 KB Output is correct
10 Correct 120 ms 16140 KB Output is correct
11 Correct 120 ms 16136 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 380 KB Output is correct
4 Correct 16 ms 1984 KB Output is correct
5 Correct 30 ms 3596 KB Output is correct
6 Correct 81 ms 5936 KB Output is correct
7 Correct 186 ms 16192 KB Output is correct
8 Correct 150 ms 17496 KB Output is correct
9 Correct 150 ms 16108 KB Output is correct
10 Correct 120 ms 16140 KB Output is correct
11 Correct 120 ms 16136 KB Output is correct
12 Incorrect 47 ms 4176 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Incorrect 2 ms 256 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 380 KB Output is correct
4 Incorrect 2 ms 256 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 256 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 3 ms 380 KB Output is correct
4 Incorrect 2 ms 256 KB Output isn't correct
5 Halted 0 ms 0 KB -