【洛谷九月月賽加賽】 kls與flag
阿新 • • 發佈:2018-12-11
主要涉及到map的用法,看到題目時不要思維定式,靈活轉化即可A掉。
code:
#include<iostream> #include<map> using namespace std; typedef long long ll; map<ll, ll> M; int n, m; ll ans; ll f(ll x) { if (x<2) return 0; else return (x-1)*x/2; } int main() { ll k; cin >> n >> m; for (int i=1; i<=n; i++) { cin >> k; M[i+k]++; M[i-k]++; } for (map<ll, ll>::iterator it=M.begin(); it!=M.end(); it++) ans+=f(it->second);//it->second,是指向映射出的值,it->first是指向被對映的值 cout << ans; return 0; }