Submission #3659243


Source Code Expand

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AtCoder
{
    class Program
    {
        static void Main(string[] args)
        {
            var vals = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();
            var N = vals[0];
            var K = vals[1];
            vals = Console.ReadLine().Split(' ').Select(x => int.Parse(x)).ToArray();

            //累積和を計算
            var cumsum = new long[N];
            var tmp = (long)0;//最大値
            foreach(var i in Enumerable.Range(0, N))
            {
                tmp += vals[i];
                cumsum[i] = tmp;
            }

            //部分和
            var subsets = new List<long>();
            for(var i = 0; i<N; i++)
            {
                subsets.Add(cumsum[i]);
                for(var j=0; j<i; j++)
                {
                    subsets.Add(cumsum[i] - cumsum[j]);
                }
            }

            //最大値のビットは?
            var sisuu = (int)(Math.Log(tmp) / Math.Log(2.0) + 0.0000001);
            var result = (long)0;
            var tmp_array = subsets;
            for(var i = sisuu; i >= 0; i--)
            {
                var target = (long)Math.Pow(2, i);
                var hantei = tmp_array.Where(x => (target & x) != 0).ToList();
                if(hantei.Count >= K)
                {
                    result = result | target;
                    tmp_array = hantei;
                }
            }
            
            Console.WriteLine(result);
        } 
    }
}

Submission Info

Submission Time
Task B - Sum AND Subarrays
User koshian
Language C# (Mono 4.6.2.0)
Score 400
Code Size 1714 Byte
Status AC
Exec Time 75 ms
Memory 31804 KB

Judge Result

Set Name All
Score / Max Score 400 / 400
Status
AC × 21
Set Name Test Cases
All n-large-k-small1, n-large-k-small2, n-large-k-small3, n-large-k-small4, n-large-k-small5, n-medium-1, n-medium-2, n-medium-3, n-medium-4, n-medium-5, n-medium-6, n-medium-7, n-medium-k-small-1, n-medium-k-small-2, n-small-1, n-small-2, n-small-3, nk-large-1, nk-large-2, sample_01, sample_02
Case Name Status Exec Time Memory
n-large-k-small1 AC 41 ms 21728 KB
n-large-k-small2 AC 40 ms 19296 KB
n-large-k-small3 AC 41 ms 21728 KB
n-large-k-small4 AC 41 ms 21856 KB
n-large-k-small5 AC 41 ms 21472 KB
n-medium-1 AC 33 ms 13280 KB
n-medium-2 AC 38 ms 19552 KB
n-medium-3 AC 27 ms 11488 KB
n-medium-4 AC 29 ms 14560 KB
n-medium-5 AC 27 ms 11488 KB
n-medium-6 AC 38 ms 18656 KB
n-medium-7 AC 33 ms 15584 KB
n-medium-k-small-1 AC 27 ms 11360 KB
n-medium-k-small-2 AC 30 ms 13536 KB
n-small-1 AC 26 ms 9280 KB
n-small-2 AC 26 ms 11388 KB
n-small-3 AC 26 ms 11348 KB
nk-large-1 AC 75 ms 31804 KB
nk-large-2 AC 42 ms 22112 KB
sample_01 AC 26 ms 9300 KB
sample_02 AC 26 ms 11348 KB