Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
123741 柯昊阳 选择客栈 C++ 解答错误 0 81 MS 3008 KB 786 2024-01-23 09:19:54

Tests(0/10):


#include <bits/stdc++.h> using namespace std; struct node{ int cst; int no; }; vector<node> okcolr[55]; vector<node> nocolr[55]; int sum[200005]; int a[200005]; int main(){ int n,m,k; cin>>n>>m>>k; for(int i = 0;i<n;i++){ int x,y; cin>>x>>y; a[i] = y; if(y<=k){ if(i==0) a[i]++; else a[i] = a[i-1]+1; } if(y<=k)okcolr[x].push_back({y,i}); else nocolr[x].push_back({y,i}); } long long cnt = 0; for(int i = 0;i<m;i++){ cnt+=(okcolr[i].size()-1)*okcolr[i].size()/2; } for(int i = 0;i<m;i++){ cnt+=okcolr[i].size()*nocolr[i].size(); } for(int i = 0;i<m;i++){ for(int j = 0;j<nocolr[i].size();j++){ for(int k = j+2;k<nocolr[i].size();k++){ if(sum[k]-sum[j]+a[j]>=1) cnt++; } } } cnt++; return 0; }


测评信息: