MT1415 大小相同

题目

给定一个由N(<10)个正整数组成的数组A,生成一些最小元素和最大元素相同的子数组数(可以仅包含1个元素),统计这些子数组的数量并输出。

注:最大元素和最小元素相同就是数组中的元素全部为同一个值。如数组(1,1),它满足条件的子数组有三个,分别为(1)(1)(1,1)

格式

输入格式

第一行输入数组长度N,第二行输入数组元素,整型,空格分隔。

输出格式

输出整型

样例1

输入:
3
1 1 3

输出:
4

程序


def main():
    #code here
    n = int(input())
    li  = list(map(int,input().split()))
    # 统计每个元素的出现次数
    count = {}
    for i in li:
        if i in count:
            count[i] += 1
        else:
            count[i] = 1
    res = 0
    for i in count:
        res += (2**count[i])-1
    
    print(res)


if __name__ == '__main__':
    main();
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值