給定三個整數陣列
a = [a1, a2, ... an],
b = [b1, b2, ... bn],
c = [c1, c2, ... cn],
請你統計有多少個三元組(i, j, k) 滿足:
1. 1 <= i, j, k <= n
2. ai < bj < ck
【輸入格式】
第一行包含乙個整數n。
第二行包含n個整數a1, a2, ... an。
第三行包含n個整數b1, b2, ... bn。
第四行包含n個整數c1, c2, ... cn。
對於30%的資料,1 <= n <= 100
對於60%的資料,1 <= n <= 1000
對於100%的資料,1 <= n <= 100000 0 <= ai, bi, ci <= 100000
【輸出格式】
乙個整數表示答案
【樣例輸入】
1 1 1
2 2 2
3 3 3
【樣例輸出】
資源約定:
峰值記憶體消耗(含虛擬機器) < 256m
cpu消耗 < 1000ms
請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入...」 的多餘內容。
注意:main函式需要返回0;
只使用ansi c/ansi c++ 標準;
不要呼叫依賴於編譯環境或作業系統的特殊函式。
所有依賴的函式必須明確地在原始檔中 #include
不能通過工程設定而省略常用標頭檔案。
提交程式時,注意選擇所期望的語言型別和編譯器型別。
思路:用dp1[i]存有多少個ai#include#include#includeusing namespace std;
int a[1000005],b[1000005],c[1000005];
int dp1[1000005],dp2[1000005];
int main()
for(int i=0;ifor(int i=0;iint i,j,k,ans=0;
fill(dp1,dp1+n,0);fill(dp2,dp2+n,0);
sort(a,a+n);sort(b,b+n);sort(c,c+n);
for(i=0;i// cout
}
遞增三元組
遞增三元組 描述給定三個整數陣列a a1,a2,an b b1,b2,bn c c1,c2,cn 請你統計有多少個三元組 i,j,k 滿足 1 i,j,k n ai bj ck 輸入第一行包含乙個整數n。第二行包含n個整數a1,a2,an。第三行包含n個整數b1,b2,bn。第四行包含n個整數c1,...
遞增三元組
題目描述 給定三個整數陣列 a a1,a2,an b b1,b2,bn c c1,c2,cn 請你統計有多少個三元組 i,j,k 滿足 1.1 i,j,k n 2.ai bj ck 輸入第一行包含乙個整數n。第二行包含n個整數a1,a2,an。第三行包含n個整數b1,b2,bn。第四行包含n個整數c...
標題 遞增三元組
給定三個整數陣列 a a1,a2,an b b1,b2,bn c c1,c2,cn 請你統計有多少個三元組 i,j,k 滿足 1 i,j,k n ai bj ck 輸入格式 第一行包含乙個整數n。第二行包含n個整數a1,a2,an。第三行包含n個整數b1,b2,bn。第四行包含n個整數c1,c2,c...