CSES - Datatähti 2017 alku - Results
Submission details
Task:Järjestys
Sender:lutrarutra
Submission time:2016-10-09 00:58:37 +0300
Language:Scala
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.41 s1details
#20.54 s2details
#3--3details

Code

import scala.collection.mutable._
/**
* @author lutrarutra
*/
object jarjestys extends App {
val n = scala.io.StdIn.readLine().toInt
var s = scala.io.StdIn.readLine().split(" ").toBuffer
var arr: Buffer[Int] = Buffer()
var i = ""
for(i <- s){
arr += i.toInt
}
def findBiggest(a: Buffer[Int]): Int = {
var biggest = 0;
var obj = 0
for(obj <- a){
biggest = math.max(biggest, obj.toInt)
}
biggest
}
def lol(): (Int, String) = {
var counter = 0
var tempBiggest = 0
var tempArr = arr
var sumstr = ""
var temp = 0
while(true){
tempBiggest = findBiggest(tempArr)
if(tempBiggest == 1){
return (counter, sumstr)
}
var indexOfTheBiggest = tempArr.indexOf(tempBiggest)
if(indexOfTheBiggest == tempArr.length -1){
tempArr.remove(indexOfTheBiggest)
}
else if (indexOfTheBiggest != 0){
temp = tempBiggest
tempArr(indexOfTheBiggest) = tempArr(0)
tempArr(0) = temp
counter += 1
sumstr += indexOfTheBiggest + 1 + " "
}
indexOfTheBiggest = tempArr.indexOf(tempBiggest)
if (indexOfTheBiggest == 0){
temp = tempBiggest
tempArr(0) = tempArr(tempArr.length-1)
tempArr(tempArr.length-1) = temp
counter += 1
sumstr += tempArr.length + " "
}
}
return(0, " ")
}
var tuple = lol()
println(tuple._1)
println(tuple._2)
}

Test details

Test 1

Group: 1

Verdict:

input
10
9 3 4 7 6 5 10 2 8 1

correct output
32
10 10 9 10 9 8 7 9 4 2 1 4 5 2...

user output
14
7 10 7 9 8 4 7 5 6 5 3 4 2 3 

Test 2

Group: 2

Verdict:

input
1000
650 716 982 41 133 1000 876 92...

correct output
3984
207 207 206 207 128 127 126 12...

user output
1974
6 1000 97 999 132 998 797 997 ...

Test 3

Group: 3

Verdict:

input
100000
94703 47808 62366 31885 7091 8...

correct output
399956
98676 98676 98675 98676 62994 ...

user output
(empty)