CSES - Putka Open 2015 – finaali - Results
Submission details
Task:Omenat
Sender:
Submission time:2015-12-20 15:50:49 +0200
Language:C++
Status:READY
Result:70
Feedback
groupverdictscore
#1ACCEPTED70.1
Test results
testverdicttimescore
#1ACCEPTED0.67 s6.4details
#2ACCEPTED0.62 s6.5details
#3ACCEPTED0.69 s7.1details
#4ACCEPTED0.71 s8.5details
#5ACCEPTED0.64 s7.5details
#6ACCEPTED0.65 s6.9details
#7ACCEPTED0.65 s6.7details
#8ACCEPTED0.68 s6.7details
#9ACCEPTED0.73 s6.7details
#10ACCEPTED0.70 s7.1details

Code

#include <bits/stdc++.h>
typedef long long ll;
#define F first
#define S second

using namespace std;

const int M=250000;
int ans[101];
int curr[101];
pair<int,int> p[101];

int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  srand(time(0));
  int n;
  cin>>n;
  for (int i=0;i<n;i++) {
    int k;
    cin>>k;
    p[i]={k,i};
  }
  sort(p,p+n);
  reverse(p,p+n);
  int parsa=1e9;
  for (int r=0;r<M;r++) {
    
    int sum=0;
    for (int i=0;i<n;i++) {
      if (sum<0) {
	sum+=p[i].F;
	curr[p[i].S]=1;
      } else {
	sum-=p[i].F;
	curr[p[i].S]=2;
      }
    }
    if (abs(sum)<parsa) {
      parsa=abs(sum);
      for (int i=0;i<n;i++) ans[i]=curr[i];
    }
    random_shuffle(p,p+n);
  }
  for (int i=0;i<n;i++) cout<<ans[i]<<" ";
  cout<<"\n";
}

Test details

Test 1

Verdict: ACCEPTED

input
95
779724552 231968220 985023789 ...

correct output
(empty)

user output
2 1 1 1 1 1 2 1 1 2 1 2 2 2 1 ...

Test 2

Verdict: ACCEPTED

input
85
229722261 51722691 862338862 8...

correct output
(empty)

user output
1 2 2 2 2 2 1 1 1 2 1 2 1 1 1 ...

Test 3

Verdict: ACCEPTED

input
97
398995377 989444445 634573915 ...

correct output
(empty)

user output
2 1 1 2 2 2 1 1 2 2 2 1 2 2 2 ...

Test 4

Verdict: ACCEPTED

input
99
843687873 164010938 51269970 4...

correct output
(empty)

user output
1 2 2 1 1 2 1 1 2 1 2 1 1 2 2 ...

Test 5

Verdict: ACCEPTED

input
90
864611617 418460939 773297829 ...

correct output
(empty)

user output
1 2 1 1 1 2 2 1 1 2 2 1 1 1 1 ...

Test 6

Verdict: ACCEPTED

input
92
289890246 25801423 763027596 7...

correct output
(empty)

user output
2 1 1 1 2 1 2 2 2 2 2 1 2 2 1 ...

Test 7

Verdict: ACCEPTED

input
89
879039800 50522278 850785072 4...

correct output
(empty)

user output
1 2 1 1 2 1 2 2 1 2 1 2 2 2 2 ...

Test 8

Verdict: ACCEPTED

input
96
27192469 222283781 681532515 1...

correct output
(empty)

user output
2 2 2 1 1 2 2 2 2 1 2 1 1 2 1 ...

Test 9

Verdict: ACCEPTED

input
100
186459081 254674429 394007236 ...

correct output
(empty)

user output
1 1 2 2 2 1 2 1 1 2 2 1 1 2 2 ...

Test 10

Verdict: ACCEPTED

input
98
612168861 979831717 671087051 ...

correct output
(empty)

user output
1 2 1 1 1 2 2 1 2 2 2 2 1 2 2 ...