国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

51nod - 1305 Pairwise Sum and Divide

2019-11-14 08:47:16
字體:
來源:轉載
供稿:網友

思路:

Floor((A[i]+A[j])/(A[i]*A[j])) 可知A[i], A[j]只有在兩個都為2或者至少有一個是1的時候這個值才不為0,即A[i], A[j]分別為1 1時貢獻為2;2 2時貢獻為1; 1 x, x 1時貢獻為1;其他都為0;所以統計1和2的數量即可。

#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 1e5+5;int num[maxn], cnt1[maxn], cnt2[maxn], n;int main(void){    while(cin >> n)    {        memset(cnt1, 0, sizeof(cnt1));        memset(cnt2, 0, sizeof(cnt2));        int k1 = 0, k2 = 0;        for(int i = 0; i < n; i++)        {            scanf("%d", &num[i]);            if(num[i] == 1) k1++;            if(num[i] == 2) k2++;            cnt1[i] = k1;            cnt2[i] = k2;        }        int ans = 0;        for(int i = 0; i < n; i++)        {            if(num[i] == 1) ans += n-i-1+k1-cnt1[i];            else if(num[i] == 2) ans += k1-cnt1[i]+k2-cnt2[i];            else ans += k1-cnt1[i];        }        PRintf("%d/n", ans);    }    return 0;}

1305 Pairwise Sum and Divide題目來源: HackerRank基準時間限制:1 秒 空間限制:131072 KB 分值: 5 難度:1級算法題 收藏 關注有這樣一段程序,fun會對整數數組A進行求值,其中Floor表示向下取整:fun(A)    sum = 0    for i = 1 to A.length        for j = i+1 to A.length            sum = sum + Floor((A[i]+A[j])/(A[i]*A[j]))     return sum給出數組A,由你來計算fun(A)的結果。例如:A = {1, 4, 1},fun(A) = [5/4] + [2/1] + [5/4] = 1 + 2 + 1 = 4。Input
第1行:1個數N,表示數組A的長度(1 <= N <= 100000)。第2 - N + 1行:每行1個數A[i](1 <= A[i] <= 10^9)。Output
輸出fun(A)的計算結果。Input示例
31 4 1Output示例
4


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孟津县| 道孚县| 耿马| 马边| 安化县| 潼南县| 南安市| 普定县| 明光市| 隆安县| 尖扎县| 荃湾区| 灵武市| 青海省| 出国| 防城港市| 阆中市| 景德镇市| 黑龙江省| 临泽县| 沂源县| 余庆县| 辽源市| 南漳县| 黄龙县| 宣化县| 望奎县| 昌乐县| 公安县| 罗田县| 喀喇沁旗| 巩义市| 青阳县| 双城市| 子长县| 军事| 余江县| 河池市| 阆中市| 浮梁县| 彩票|