Submission #1798385


Source Code Expand

#include <vector>
#include <stack>
#include <stdio.h>
#include <iostream>
#include <string>
#include <algorithm>
#include <math.h>
#include <typeinfo>
#include <queue>
#include <set>
#include <sstream>

using namespace std;

#define REP(i,n) for(int i=0;i<(n);i++)
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define SORT(c) sort((c).begin(),(c).end())
#define RSORT(c) sort((c).begin(),(c).end(),std::greater<int>())
static const int INFTY = (1<<21);
static const int WHITE = 0;
static const int GRAY = 1;
static const int BLACK = 2;
#define MAX 200000
#define SENTINEL 10000000000
typedef long long ll;

ll L[MAX/2+2],R[MAX/2+2];

void minimum_cost(){
	//#define MAX 1000//maximum size
	//static const int MAX = 1000;
	static const int VMAX = 10000;//maximum weight
	int n, A[MAX],s,i;
	int B[MAX],T[VMAX+1];
	//cout << MAX << endl;

	cin >> n;
	s = VMAX;
	for(int i=0;i<n;i++){
		cin >> A[i];
		s = min(s,A[i]);//minimum value in A
	}
	//int ans = minimum_cost_solver(MAX);
	int ans = 0;
	bool V[MAX];
	for(i=0;i<n;i++){
		B[i]=A[i];
		V[i]=false;
	}
	sort(B,B+n);
	for(i=0;i<n;i++){
		T[B[i]]=i;//index in A, where the weight is B[i]
	}
	for(i=0;i<n;i++){
		if(V[i]) continue;//whether the index i is in an at least one loop or not
		int cur = i;//current index (ar first, start index of a loop)
		int S=0;//sum of weights in the loop
		int m=VMAX;//minimum weight in the loop
		int an = 0;//counts of the loop
		while(1){
			V[cur] = true;
			an++;
			int v = A[cur];//weight of A[current]
			m = min(m,v);
			S += v;
			cur = T[v];
			if (V[cur]) break;//index cur is in the loop
		}
		ans += min(S + (an-2)*m, m + S + (an+1)*s);
	}

	cout << ans << endl;

}

void c3_3(){
  int n,k;
  double res = 0.0;
  cin >> n >> k;
  std::vector<int> r;
  int tmp;
  REP(i,n){
    cin >> tmp;
    r.push_back(tmp);
  }
  SORT(r);
  FOR(i,n-k,n){
    res = (res + r[i]) * 0.5;
  }
  printf("%f\n",res);
  //printf("%.6f\n",res);
}

void b_4(){
  char X[16];
  REP(i,16){
    cin >> X[i];
  }
  REP(i,4){
    REP(j,4){
      cout << X[15 - (i*4 + j)] << " ";
    }
    cout << endl;
  }
}

Submission Info

Submission Time
Task C - 入れ替え
User fullflu
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2187 Byte
Status CE

Compile Error

/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13
/usr/bin/ld: /usr/lib/debug/usr/lib/x86_64-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol ...